reationists occasionally charge that
evolution is useless as a scientific theory because it
produces no practical benefits and has no relevance to
daily life. However, the evidence of biology alone shows
that this claim is untrue. There are numerous natural
phenomena for which evolution gives us a sound theoretical
underpinning. To name just one, the observed development of
resistance - to insecticides in crop pests, to antibiotics
in bacteria, to chemotherapy in cancer cells, and to
anti-retroviral drugs in viruses such as HIV - is a
straightforward consequence of the laws of mutation and
selection, and understanding these principles has helped us
to craft strategies for dealing with these harmful
organisms. The evolutionary postulate of common descent has
aided the development of new medical drugs and techniques
by giving researchers a good idea of which organisms they
should experiment on to obtain results that are most likely
to be relevant to humans. Finally, the principle of
selective breeding has been used to great effect by humans
to create customized organisms unlike anything found in
nature for their own benefit. The canonical example, of
course, is the many varieties of domesticated dogs (breeds
as diverse as bulldogs, chihuahuas and dachshunds have been
produced from wolves in only a few thousand years), but
less well-known examples include cultivated maize (very
different from its wild relatives, none of which have the
familiar "ears" of human-grown corn), goldfish (like dogs,
we have bred varieties that look dramatically different
from the wild type), and dairy cows (with immense udders
far larger than would be required just for nourishing
offspring).
Critics might charge that creationists can explain these
things without recourse to evolution. For example,
creationists often explain the development of resistance to
antibiotic agents in bacteria, or the changes wrought in
domesticated animals by artificial selection, by presuming
that God decided to create organisms in fixed groups,
called "kinds" or baramin. Though natural
microevolution or human-guided artificial selection can
bring about different varieties within the originally
created "dog-kind," or "cow-kind," or "bacteria-kind" (!),
no amount of time or genetic change can transform one
"kind" into another. However, exactly how the creationists
determine what a "kind" is, or what mechanism prevents
living things from evolving beyond its boundaries, is
invariably never explained.
But in the last few decades, the continuing advance of
modern technology has brought about something new.
Evolution is now producing practical benefits in a very
different field, and this time, the creationists cannot
claim that their explanation fits the facts just as well.
This field is computer science, and the benefits come from
a programming strategy called genetic algorithms.
This essay will explain what genetic algorithms are and
will show how they are relevant to the
evolution/creationism debate.
What is a genetic algorithm?
|
|
Concisely stated, a genetic algorithm (or GA for short)
is a programming technique that mimics biological evolution
as a problem-solving strategy. Given a specific problem to
solve, the input to the GA is a set of potential solutions
to that problem, encoded in some fashion, and a metric
called a fitness function that allows each candidate
to be quantitatively evaluated. These candidates may be
solutions already known to work, with the aim of the GA
being to improve them, but more often they are generated at
random.
The GA then evaluates each candidate according to the
fitness function. In a pool of randomly generated
candidates, of course, most will not work at all, and these
will be deleted. However, purely by chance, a few may hold
promise - they may show activity, even if only weak and
imperfect activity, toward solving the problem.
These promising candidates are kept and allowed to
reproduce. Multiple copies are made of them, but the copies
are not perfect; random changes are introduced during the
copying process. These digital offspring then go on to the
next generation, forming a new pool of candidate solutions,
and are subjected to a second round of fitness evaluation.
Those candidate solutions which were worsened, or made no
better, by the changes to their code are again deleted; but
again, purely by chance, the random variations introduced
into the population may have improved some individuals,
making them into better, more complete or more efficient
solutions to the problem at hand. Again these winning
individuals are selected and copied over into the next
generation with random changes, and the process repeats.
The expectation is that the average fitness of the
population will increase each round, and so by repeating
this process for hundreds or thousands of rounds, very good
solutions to the problem can be discovered.
As astonishing and counterintuitive as it may seem to
some, genetic algorithms have proven to be an enormously
powerful and successful problem-solving strategy,
dramatically demonstrating the power of evolutionary
principles. Genetic algorithms have been used in a wide
variety of fields to evolve solutions to problems as
difficult as or more difficult than those faced by human
designers. Moreover, the solutions they come up with are
often more efficient, more elegant, or more complex than
anything comparable a human engineer would produce. In some
cases, genetic algorithms have come up with solutions that
baffle the programmers who wrote the algorithms in the
first place!
Methods of representation
Before a genetic algorithm can be put to work on any
problem, a method is needed to encode potential solutions
to that problem in a form that a computer can process. One
common approach is to encode solutions as binary strings:
sequences of 1's and 0's, where the digit at each position
represents the value of some aspect of the solution.
Another, similar approach is to encode solutions as arrays
of integers or decimal numbers, with each position again
representing some particular aspect of the solution. This
approach allows for greater precision and complexity than
the comparatively restricted method of using binary numbers
only and often "is intuitively closer to the problem space"
(Fleming and Purshouse 2002, p.
1228).
This technique was used, for example, in the work of
Steffen Schulze-Kremer, who wrote a genetic algorithm to
predict the three-dimensional structure of a protein based
on the sequence of amino acids that go into it (Mitchell 1996, p. 62).
Schulze-Kremer's GA used real-valued numbers to represent
the so-called "torsion angles" between the peptide bonds
that connect amino acids. (A protein is made up of a
sequence of basic building blocks called amino acids, which
are joined together like the links in a chain. Once all the
amino acids are linked, the protein folds up into a complex
three-dimensional shape based on which amino acids attract
each other and which ones repel each other. The shape of a
protein determines its function.) Genetic algorithms for
training neural networks
often use this method of encoding also.
A third approach is to represent individuals in a GA as
strings of letters, where each letter again stands for a
specific aspect of the solution. One example of this
technique is Hiroaki Kitano's "grammatical encoding"
approach, where a GA was put to the task of evolving a
simple set of rules called a context-free grammar that was
in turn used to generate neural networks for a variety of
problems (Mitchell 1996, p.
74).
The virtue of all three of these methods is that they
make it easy to define operators that cause the random
changes in the selected candidates: flip a 0 to a 1 or vice
versa, add or subtract from the value of a number by a
randomly chosen amount, or change one letter to another.
(See the section on Methods of
change for more detail about the genetic operators.)
Another strategy, developed principally by John Koza of
Stanford University and called genetic programming,
represents programs as branching data structures called
trees (Koza et al. 2003, p. 35). In
this approach, random changes can be brought about by
changing the operator or altering the value at a given node
in the tree, or replacing one subtree with another.
Figure 1: Three simple program
trees of the kind normally used in genetic programming. The
mathematical expression that each one represents is given
underneath.
It is important to note that evolutionary algorithms do
not need to represent candidate solutions as data strings
of fixed length. Some do represent them in this way, but
others do not; for example, Kitano's grammatical encoding
discussed above can be efficiently scaled to create large
and complex neural networks, and Koza's genetic programming
trees can grow arbitrarily large as necessary to solve
whatever problem they are applied to.
Methods of selection
There are many different techniques which a genetic
algorithm can use to select the individuals to be copied
over into the next generation, but listed below are some of
the most common methods. Some of these methods are mutually
exclusive, but others can be and often are used in
combination.
Elitist selection: The most fit members of each
generation are guaranteed to be selected. (Most GAs do not
use pure elitism, but instead use a modified form where the
single best, or a few of the best, individuals from each
generation are copied into the next generation just in case
nothing better turns up.)
Fitness-proportionate selection: More fit
individuals are more likely, but not certain, to be
selected.
Roulette-wheel selection: A form of
fitness-proportionate selection in which the chance of an
individual's being selected is proportional to the amount
by which its fitness is greater or less than its
competitors' fitness. (Conceptually, this can be
represented as a game of roulette - each individual gets a
slice of the wheel, but more fit ones get larger slices
than less fit ones. The wheel is then spun, and whichever
individual "owns" the section on which it lands each time
is chosen.)
Scaling selection: As the average fitness of the
population increases, the strength of the selective
pressure also increases and the fitness function becomes
more discriminating. This method can be helpful in making
the best selection later on when all individuals have
relatively high fitness and only small differences in
fitness distinguish one from another.
Tournament selection: Subgroups of individuals
are chosen from the larger population, and members of each
subgroup compete against each other. Only one individual
from each subgroup is chosen to reproduce.
Rank selection: Each individual in the population
is assigned a numerical rank based on fitness, and
selection is based on this ranking rather than absolute
differences in fitness. The advantage of this method is
that it can prevent very fit individuals from gaining
dominance early at the expense of less fit ones, which
would reduce the population's genetic diversity and might
hinder attempts to find an acceptable solution.
Generational selection: The offspring of the
individuals selected from each generation become the entire
next generation. No individuals are retained between
generations.
Steady-state selection: The offspring of the
individuals selected from each generation go back into the
pre-existing gene pool, replacing some of the less fit
members of the previous generation. Some individuals are
retained between generations.
Hierarchical selection: Individuals go through
multiple rounds of selection each generation. Lower-level
evaluations are faster and less discriminating, while those
that survive to higher levels are evaluated more
rigorously. The advantage of this method is that it reduces
overall computation time by using faster, less selective
evaluation to weed out the majority of individuals that
show little or no promise, and only subjecting those who
survive this initial test to more rigorous and more
computationally expensive fitness evaluation.
Methods of change
Once selection has chosen fit individuals, they must be
randomly altered in hopes of improving their fitness for
the next generation. There are two basic strategies to
accomplish this. The first and simplest is called
mutation. Just as mutation in living things changes
one gene to another, so mutation in a genetic algorithm
causes small alterations at single points in an
individual's code.
The second method is called crossover, and
entails choosing two individuals to swap segments of their
code, producing artificial "offspring" that are
combinations of their parents. This process is intended to
simulate the analogous process of recombination that occurs
to chromosomes during sexual reproduction. Common forms of
crossover include single-point crossover, in which a
point of exchange is set at a random location in the two
individuals' genomes, and one individual contributes all
its code from before that point and the other contributes
all its code from after that point to produce an offspring,
and uniform crossover, in which the value at any
given location in the offspring's genome is either the
value of one parent's genome at that location or the value
of the other parent's genome at that location, chosen with
50/50 probability.
Figure 2: Crossover and mutation.
The above diagrams illustrate the effect of each of these
genetic operators on individuals in a population of 8-bit
strings. The upper diagram shows two individuals undergoing
single-point crossover; the point of exchange is set
between the fifth and sixth positions in the genome,
producing a new individual that is a hybrid of its
progenitors. The second diagram shows an individual
undergoing mutation at position 4, changing the 0 at that
position in its genome to a 1.
Other problem-solving techniques
With the rise of artificial life computing and the
development of heuristic methods, other computerized
problem-solving techniques have emerged that are in some
ways similar to genetic algorithms. This section explains
some of these techniques, in what ways they resemble GAs
and in what ways they differ.
- Neural networks
A neural network, or neural net for short, is a
problem-solving method based on a computer model of how
neurons are connected in the brain. A neural network
consists of layers of processing units called nodes joined
by directional links: one input layer, one output layer,
and zero or more hidden layers in between. An initial
pattern of input is presented to the input layer of the
neural network, and nodes that are stimulated then transmit
a signal to the nodes of the next layer to which they are
connected. If the sum of all the inputs entering one of
these virtual neurons is higher than that neuron's
so-called activation threshold, that neuron itself
activates, and passes on its own signal to neurons in the
next layer. The pattern of activation therefore spreads
forward until it reaches the output layer and is there
returned as a solution to the presented input. Just as in
the nervous system of biological organisms, neural networks
learn and fine-tune their performance over time via
repeated rounds of adjusting their thresholds until the
actual output matches the desired output for any given
input. This process can be supervised by a human
experimenter or may run automatically using a learning
algorithm (Mitchell 1996, p.
52). Genetic algorithms have been used both to build and to
train neural networks.
Figure 3: A simple feedforward neural network, with
one input layer consisting of four neurons, one hidden
layer consisting of three neurons, and one output layer
consisting of four neurons. The number on each neuron
represents its activation threshold: it will only fire if
it receives at least that many inputs. The diagram shows
the neural network being presented with an input string and
shows how activation spreads forward through the network to
produce an output.
- Hill-climbing
Similar to genetic algorithms, though more systematic and
less random, a hill-climbing algorithm begins with one
initial solution to the problem at hand, usually chosen at
random. The string is then mutated, and if the mutation
results in higher fitness for the new solution than for the
previous one, the new solution is kept; otherwise, the
current solution is retained. The algorithm is then
repeated until no mutation can be found that causes an
increase in the current solution's fitness, and this
solution is returned as the result (Koza et al. 2003, p. 59). (To
understand where the name of this technique comes from,
imagine that the space of all possible solutions to a given
problem is represented as a three-dimensional contour
landscape. A given set of coordinates on that landscape
represents one particular solution. Those solutions that
are better are higher in altitude, forming hills and peaks;
those that are worse are lower in altitude, forming
valleys. A "hill-climber" is then an algorithm that starts
out at a given point on the landscape and moves inexorably
uphill.) Hill-climbing is what is known as a greedy
algorithm, meaning it always makes the best choice
available at each step in the hope that the overall best
result can be achieved this way. By contrast, methods such
as genetic algorithms and simulated annealing, discussed
below, are not greedy; these methods sometimes make
suboptimal choices in the hopes that they will lead
to better solutions later on.
- Simulated annealing
Another optimization technique similar to evolutionary
algorithms is known as simulated annealing. The idea
borrows its name from the industrial process of
annealing in which a material is heated to above a
critical point to soften it, then gradually cooled in order to erase
defects in its crystalline structure, producing a more
stable and regular lattice arrangement of atoms (Haupt and Haupt 1998, p. 16). In
simulated annealing, as in genetic algorithms, there is a
fitness function that defines a fitness landscape; however,
rather than a population of candidates as in GAs, there is
only one candidate solution. Simulated annealing also adds
the concept of "temperature", a global numerical quantity
which gradually decreases over time. At each step of the
algorithm, the solution mutates (which is equivalent to
moving to an adjacent point of the fitness landscape). The
fitness of the new solution is then compared to the fitness
of the previous solution; if it is higher, the new solution
is kept. Otherwise, the algorithm makes a decision whether
to keep or discard it based on temperature. If the
temperature is high, as it is initially, even changes that
cause significant decreases in fitness may be kept and used
as the basis for the next round of the algorithm, but as
temperature decreases, the algorithm becomes more and more
inclined to only accept fitness-increasing changes.
Finally, the temperature reaches zero and the system
"freezes"; whatever configuration it is in at that point
becomes the solution. Simulated annealing is often used for
engineering design applications such as determining the
physical layout of components on a computer chip (Kirkpatrick, Gelatt and Vecchi
1983).
The earliest instances of what might today be called
genetic algorithms appeared in the late 1950s and early
1960s, programmed on computers by evolutionary biologists
who were explicitly seeking to model aspects of natural
evolution. It did not occur to any of them that this
strategy might be more generally applicable to artificial
problems, but that recognition was not long in coming:
"Evolutionary computation was definitely in the air in the
formative days of the electronic computer" (Mitchell 1996, p.2). By 1962,
researchers such as G.E.P. Box, G.J. Friedman, W.W. Bledsoe
and H.J. Bremermann had all independently developed
evolution-inspired algorithms for function optimization and
machine learning, but their work attracted little followup.
A more successful development in this area came in 1965,
when Ingo Rechenberg, then of the Technical University of
Berlin, introduced a technique he called evolution
strategy, though it was more similar to hill-climbers
than to genetic algorithms. In this technique, there was no
population or crossover; one parent was mutated to produce
one offspring, and the better of the two was kept and
became the parent for the next round of mutation (Haupt and Haupt 1998, p.146). Later
versions introduced the idea of a population. Evolution
strategies are still employed today by engineers and
scientists, especially in Germany.
The next important development in the field came in
1966, when L.J. Fogel, A.J. Owens and M.J. Walsh introduced
in America a technique they called evolutionary
programming. In this method, candidate solutions to
problems were represented as simple finite-state machines;
like Rechenberg's evolution strategy, their algorithm
worked by randomly mutating one of these simulated machines
and keeping the better of the two (Mitchell 1996, p.2; Goldberg 1989, p.105). Also like
evolution strategies, a broader formulation of the
evolutionary programming technique is still an area of
ongoing research today. However, what was still lacking in
both these methodologies was recognition of the importance
of crossover.
As early as 1962, John Holland's work on adaptive
systems laid the foundation for later developments; most
notably, Holland was also the first to explicitly propose
crossover and other recombination operators. However, the
seminal work in the field of genetic algorithms came in
1975, with the publication of the book Adaptation in
Natural and Artificial Systems. Building on earlier
research and papers both by Holland himself and by
colleagues at the University of Michigan, this book was the
first to systematically and rigorously present the concept
of adaptive digital systems using mutation, selection and
crossover, simulating processes of biological evolution, as
a problem-solving strategy. The book also attempted to put
genetic algorithms on a firm theoretical footing by
introducing the notion of schemata (Mitchell 1996, p.3; Haupt and Haupt 1998, p.147). That
same year, Kenneth De Jong's important dissertation
established the potential of GAs by showing that they could
perform well on a wide variety of test functions, including
noisy, discontinuous, and multimodal search landscapes (Goldberg 1989, p.107).
These foundational works established more widespread
interest in evolutionary computation. By the early to
mid-1980s, genetic algorithms were being applied to a broad
range of subjects, from abstract mathematical problems like
bin-packing and graph coloring to tangible engineering
issues such as pipeline flow control, pattern recognition
and classification, and structural optimization (Goldberg 1989, p. 128).
At first, these applications were mainly theoretical.
However, as research continued to proliferate, genetic
algorithms migrated into the commercial sector, their rise
fueled by the exponential growth of computing power and the
development of the Internet. Today, evolutionary
computation is a thriving field, and genetic algorithms are
"solving problems of everyday interest" (Haupt and Haupt 1998, p.147) in areas
of study as diverse as stock market prediction and
portfolio planning, aerospace engineering, microchip
design, biochemistry and molecular biology, and scheduling
at airports and assembly lines. The power of evolution has
touched virtually any field one cares to name, shaping the
world around us invisibly in countless ways, and new uses
continue to be discovered as research is ongoing. And at
the heart of it all lies nothing more than Charles Darwin's
simple, powerful insight: that the random chance of
variation, coupled with the law of selection, is a
problem-solving technique of immense power and nearly
unlimited application.
What are the strengths of GAs?
|
|
- The first and most important
point is that genetic algorithms are intrinsically
parallel. Most other algorithms are serial and can only
explore the solution space to a problem in one direction at
a time, and if the solution they discover turns out to be
suboptimal, there is nothing to do but abandon all work
previously completed and start over. However, since GAs
have multiple offspring, they can explore the solution
space in multiple directions at once. If one path turns out
to be a dead end, they can easily eliminate it and continue
work on more promising avenues, giving them a greater
chance each run of finding the optimal solution.
However, the advantage of parallelism goes beyond this.
Consider the following: All the 8-digit binary strings
(strings of 0's and 1's) form a search space, which can be
represented as ******** (where the * stands for "either 0
or 1"). The string 01101010 is one member of this space.
However, it is also a member of the space 0*******,
the space 01******, the space 0******0, the space 0*1*1*1*,
the space 01*01**0, and so on. By evaluating the fitness of
this one particular string, a genetic algorithm would be
sampling each of these many spaces to which it belongs.
Over many such evaluations, it would build up an
increasingly accurate value for the average fitness
of each of these spaces, each of which has many members.
Therefore, a GA that explicitly evaluates a small number of
individuals is implicitly evaluating a much larger group of
individuals - just as a pollster who asks questions of a
certain member of an ethnic, religious or social group
hopes to learn something about the opinions of all members
of that group, and therefore can reliably predict national
opinion while sampling only a small percentage of the
population. In the same way, the GA can "home in" on the
space with the highest-fitness individuals and find the
overall best one from that group. In the context of
evolutionary algorithms, this is known as the Schema
Theorem, and is the "central advantage" of a GA over other
problem-solving methods (Holland
1992, p. 68; Mitchell 1996,
p.28-29; Goldberg 1989,
p.20).
- Due to the parallelism that
allows them to implicitly evaluate many schema at once,
genetic algorithms are particularly well-suited to solving
problems where the space of all potential solutions is
truly huge - too vast to search exhaustively in any
reasonable amount of time. Most problems that fall into
this category are known as "nonlinear". In a linear
problem, the fitness of each component is independent, so
any improvement to any one part will result in an
improvement of the system as a whole. Needless to say, few
real-world problems are like this. Nonlinearity is the
norm, where changing one component may have ripple effects
on the entire system, and where multiple changes that
individually are detrimental may lead to much greater
improvements in fitness when combined. Nonlinearity results
in a combinatorial explosion: the space of 1,000-digit
binary strings can be exhaustively searched by evaluating
only 2,000 possibilities if the problem is linear, whereas
if it is nonlinear, an exhaustive search requires
evaluating 21000 possibilities -
a number that would take over 300 digits to write out in
full.
Fortunately, the implicit parallelism of a GA allows it to
surmount even this enormous number of possibilities,
successfully finding optimal or very good results in a
short period of time after directly sampling only small
regions of the vast fitness landscape (Forrest 1993, p. 877). For example,
a genetic algorithm developed jointly by engineers from
General Electric and Rensselaer Polytechnic Institute
produced a high-performance jet engine turbine design that
was three times better than a human-designed configuration
and 50% better than a configuration designed by an expert
system by successfully navigating a solution space
containing more than 10387
possibilities. Conventional methods for designing such
turbines are a central part of engineering projects that
can take up to five years and cost over $2 billion; the
genetic algorithm discovered this solution after two days
on a typical engineering desktop workstation (Holland 1992, p.72).
- Another notable strength of
genetic algorithms is that they perform well in problems
for which the fitness landscape is complex - ones where the
fitness function is discontinuous, noisy, changes over
time, or has many local optima. Most practical problems
have a vast solution space, impossible to search
exhaustively; the challenge then becomes how to avoid the
local optima - solutions that are better than all the
others that are similar to them, but that are not as good
as different ones elsewhere in the solution space. Many
search algorithms can become trapped by local optima: if
they reach the top of a hill on the fitness landscape, they
will discover that no better solutions exist nearby and
conclude that they have reached the best one, even though
higher peaks exist elsewhere on the map.
Evolutionary algorithms, on the other hand, have proven to
be effective at escaping local optima and discovering the
global optimum in even a very rugged and complex fitness
landscape. (It should be noted that, in reality, there is
usually no way to tell whether a given solution to a
problem is the one global optimum or just a very high local
optimum. However, even if a GA does not always deliver a
provably perfect solution to a problem, it can almost
always deliver at least a very good solution.) All four of
a GA's major components - parallelism, selection, mutation,
and crossover - work together to accomplish this. In the
beginning, the GA generates a diverse initial population,
casting a "net" over the fitness landscape. (Koza (2003, p. 506) compares this to an army
of parachutists dropping onto the landscape of a problem's
search space, with each one being given orders to find the
highest peak.) Small mutations enable each individual to
explore its immediate neighborhood, while selection focuses
progress, guiding the algorithm's offspring uphill to more
promising parts of the solution space (Holland 1992, p. 68).
However, crossover is the key element that distinguishes
genetic algorithms from other methods such as hill-climbers
and simulated annealing. Without crossover, each individual
solution is on its own, exploring the search space in its
immediate vicinity without reference to what other
individuals may have discovered. However, with crossover in
place, there is a transfer of information between
successful candidates - individuals can benefit from what
others have learned, and schemata can be mixed and
combined, with the potential to produce an offspring that
has the strengths of both its parents and the weaknesses of
neither. This point is illustrated in Koza et al. 1999, p.486, where the
authors discuss a problem of synthesizing a lowpass filter
using genetic programming. In one generation, two parent
circuits were selected to undergo crossover; one parent had
good topology (components such as inductors and capacitors
in the right places) but bad sizing (values of inductance
and capacitance for its components that were far too low).
The other parent had bad topology, but good sizing. The
result of mating the two through crossover was an offspring
with the good topology of one parent and the good sizing of
the other, resulting in a substantial improvement in
fitness over both its parents.
The problem of finding the global optimum in a space with
many local optima is also known as the dilemma of
exploration vs. exploitation, "a classic problem for all
systems that can adapt and learn" (Holland 1992, p. 69). Once an
algorithm (or a human designer) has found a problem-solving
strategy that seems to work satisfactorily, should it
concentrate on making the best use of that strategy, or
should it search for others? Abandoning a proven strategy
to look for new ones is almost guaranteed to involve losses
and degradation of performance, at least in the short term.
But if one sticks with a particular strategy to the
exclusion of all others, one runs the risk of not
discovering better strategies that exist but have not yet
been found. Again, genetic algorithms have shown themselves
to be very good at striking this balance and discovering
good solutions with a reasonable amount of time and
computational effort.
- Another area in which
genetic algorithms excel is their ability to manipulate
many parameters simultaneously (Forrest 1993, p. 874). Many
real-world problems cannot be stated in terms of a single
value to be minimized or maximized, but must be expressed
in terms of multiple objectives, usually with tradeoffs
involved: one can only be improved at the expense of
another. GAs are very good at solving such problems: in
particular, their use of parallelism enables them to
produce multiple equally good solutions to the same
problem, possibly with one candidate solution optimizing
one parameter and another candidate optimizing a different
one (Haupt and Haupt 1998, p.17),
and a human overseer can then select one of these
candidates to use. If a particular solution to a
multiobjective problem optimizes one parameter to a degree
such that that parameter cannot be further improved without
causing a corresponding decrease in the quality of some
other parameter, that solution is called Pareto
optimal or non-dominated (Coello 2000, p. 112).
- Finally, one of the
qualities of genetic algorithms which might at first appear
to be a liability turns out to be one of their strengths:
namely, GAs know nothing about the problems they are
deployed to solve. Instead of using previously known
domain-specific information to guide each step and making
changes with a specific eye towards improvement, as human
designers do, they are "blind watchmakers" (Dawkins 1996); they make
random changes to their candidate solutions and then
use the fitness function to determine whether those changes
produce an improvement.
The virtue of this technique is that it allows genetic
algorithms to start out with an open mind, so to speak.
Since its decisions are based on randomness, all
possible search pathways are theoretically open to a GA; by
contrast, any problem-solving strategy that relies on prior
knowledge must inevitably begin by ruling out many pathways
a priori, therefore missing any novel solutions that
may exist there (Koza et al. 1999,
p. 547). Lacking preconceptions based on established
beliefs of "how things should be done" or what "couldn't
possibly work", GAs do not have this problem. Similarly,
any technique that relies on prior knowledge will break
down when such knowledge is not available, but again, GAs
are not adversely affected by ignorance (Goldberg 1989, p. 23). Through
their components of parallelism, crossover and mutation,
they can range widely over the fitness landscape, exploring
regions which intelligently produced algorithms might have
overlooked, and potentially uncovering solutions of
startling and unexpected creativity that might never have
occurred to human designers. One vivid illustration of this
is the rediscovery, by genetic programming, of the concept
of negative feedback - a principle crucial to many
important electronic components today, but one that, when
it was first discovered, was denied a patent for nine years
because the concept was so contrary to established beliefs
(Koza et al. 2003, p. 413).
Evolutionary algorithms, of course, are neither aware nor
concerned whether a solution runs counter to established
beliefs - only whether it works.
What are the limitations of GAs?
|
|
Although genetic algorithms have proven to be an
efficient and powerful problem-solving strategy, they are
not a panacea. GAs do have certain limitations; however, it
will be shown that all of these can be overcome and none of
them bear on the validity of biological evolution.
- The first, and most
important, consideration in creating a genetic algorithm is
defining a representation for the problem. The language
used to specify candidate solutions must be robust; i.e.,
it must be able to tolerate random changes such that fatal
errors or nonsense do not consistently result.
There are two main ways of achieving this. The first, which
is used by most genetic algorithms, is to define
individuals as lists of numbers - binary-valued,
integer-valued, or real-valued - where each number
represents some aspect of a candidate solution. If the
individuals are binary strings, 0 or 1 could stand for the
absence or presence of a given feature. If they are lists
of numbers, these numbers could represent many different
things: the weights of the links in a neural network, the
order of the cities visited in a given tour, the spatial
placement of electronic components, the values fed into a
controller, the torsion angles of peptide bonds in a
protein, and so on. Mutation then entails changing these
numbers, flipping bits or adding or subtracting random
values. In this case, the actual program code does not
change; the code is what manages the simulation and keeps
track of the individuals, evaluating their fitness and
perhaps ensuring that only values realistic and possible
for the given problem result.
In another method, genetic programming, the actual program
code does change. As discussed in the section Methods of representation,
GP represents individuals as executable trees of code that
can be mutated by changing or swapping subtrees. Both of
these methods produce representations that are robust
against mutation and can represent many different kinds of
problems, and as discussed in the section Some specific examples, both have had
considerable success.
This issue of representing candidate solutions in a robust
way does not arise in nature, because the method of
representation used by evolution, namely the genetic code,
is inherently robust: with only a very few exceptions, such
as a string of stop codons, there is no such thing as a
sequence of DNA bases that cannot be translated into a
protein. Therefore, virtually any change to an individual's
genes will still produce an intelligible result, and so
mutations in evolution have a higher chance of producing an
improvement. This is in contrast to human-created languages
such as English, where the number of meaningful words is
small compared to the total number of ways one can combine
letters of the alphabet, and therefore random changes to an
English sentence are likely to produce nonsense.
- The problem of how to write
the fitness function must be carefully considered so that
higher fitness is attainable and actually does equate to a
better solution for the given problem. If the fitness
function is chosen poorly or defined imprecisely, the
genetic algorithm may be unable to find a solution to the
problem, or may end up solving the wrong problem. (This
latter situation is sometimes described as the tendency of
a GA to "cheat", although in reality all that is happening
is that the GA is doing what it was told to do, not what
its creators intended it to do.) An example of this can be
found in Graham-Rowe 2002, in
which researchers used an evolutionary algorithm in
conjunction with a reprogrammable hardware array, setting
up the fitness function to reward the evolving circuit for
outputting an oscillating signal. At the end of the
experiment, an oscillating signal was indeed being produced
- but instead of the circuit itself acting as an
oscillator, as the researchers had intended, they
discovered that it had become a radio receiver that was
picking up and relaying an oscillating signal from a nearby
piece of electronic equipment!
This is not a problem in nature, however. In the laboratory
of biological evolution there is only one fitness function,
which is the same for all living things - the drive to
survive and reproduce, no matter what adaptations make this
possible. Those organisms which reproduce more abundantly
compared to their competitors are more fit; those which
fail to reproduce are unfit.
- In addition to making a
good choice of fitness function, the other parameters of a
GA - the size of the population, the rate of mutation and
crossover, the type and strength of selection - must be
also chosen with care. If the population size is too small,
the genetic algorithm may not explore enough of the
solution space to consistently find good solutions. If the
rate of genetic change is too high or the selection scheme
is chosen poorly, beneficial schema may be disrupted and
the population may enter error catastrophe, changing too
fast for selection to ever bring about convergence.
Living things do face similar difficulties, and
evolution has dealt with them. It is true that if a
population size falls too low, mutation rates are too high,
or the selection pressure is too strong (such a situation
might be caused by drastic environmental change), then the
species may go extinct. The solution has been "the
evolution of evolvability" - adaptations that alter a
species' ability to adapt. For example, most living things
have evolved elaborate molecular machinery that checks for
and corrects errors during the process of DNA replication,
keeping their mutation rate down to acceptably low levels;
conversely, in times of severe environmental stress, some
bacterial species enter a state of hypermutation
where the rate of DNA replication errors rises sharply,
increasing the chance that a compensating mutation will be
discovered. Of course, not all catastrophes can be evaded,
but the enormous diversity and highly complex adaptations
of living things today show that, in general, evolution is
a successful strategy. Likewise, the diverse applications
of and impressive results produced by genetic algorithms
show them to be a powerful and worthwhile field of
study.
- One type of problem that
genetic algorithms have difficulty dealing with are
problems with "deceptive" fitness functions (Mitchell 1996, p.125), those where
the locations of improved points give misleading
information about where the global optimum is likely to be
found. For example, imagine a problem where the search
space consisted of all eight-character binary strings, and
the fitness of an individual was directly proportional to
the number of 1s in it - i.e., 00000001 would be less fit
than 00000011, which would be less fit than 00000111, and
so on - with two exceptions: the string 11111111 turned out
to have very low fitness, and the string 00000000 turned
out to have very high fitness. In such a problem, a GA (as
well as most other algorithms) would be no more likely to
find the global optimum than random search.
The resolution to this problem is the same for both genetic
algorithms and biological evolution: evolution is not a
process that has to find the single global optimum every
time. It can do almost as well by reaching the top of a
high local optimum, and for most situations, this will
suffice, even if the global optimum cannot easily be
reached from that point. Evolution is very much a
"satisficer" - an algorithm that delivers a "good enough"
solution, though not necessarily the best possible
solution, given a reasonable amount of time and effort
invested in the search. The Evidence for Jury-Rigged
Design in Nature FAQ gives examples of this very
outcome appearing in nature. (It is also worth noting that
few, if any, real-world problems are as fully deceptive as
the somewhat contrived example given above. Usually, the
location of local improvements gives at least some
information about the location of the global
optimum.)
- One well-known problem
that can occur with a GA is known as premature
convergence. If an individual that is more fit than
most of its competitors emerges early on in the course of
the run, it may reproduce so abundantly that it drives down
the population's diversity too soon, leading the algorithm
to converge on the local optimum that that individual
represents rather than searching the fitness landscape
thoroughly enough to find the global optimum (Forrest 1993, p. 876; Mitchell 1996, p. 167). This is an
especially common problem in small populations, where even
chance variations in reproduction rate may cause one
genotype to become dominant over others.
The most common methods implemented by GA researchers to
deal with this problem all involve controlling the strength
of selection, so as not to give excessively fit individuals
too great of an advantage. Rank,
scaling and tournament selection, discussed earlier,
are three major means for accomplishing this; some methods
of scaling selection include sigma scaling, in which
reproduction is based on a statistical comparison to the
population's average fitness, and Boltzmann selection, in
which the strength of selection increases over the course
of a run in a manner similar to the "temperature" variable
in simulated annealing (Mitchell
1996, p. 168).
Premature convergence does occur in nature (where it
is called genetic
drift by biologists). This should not be surprising; as
discussed above, evolution as a problem-solving strategy is
under no obligation to find the single best solution,
merely one that is good enough. However, premature
convergence in nature is less common since most beneficial
mutations in living things produce only small, incremental
fitness improvements; mutations that produce such a large
fitness gain as to give their possessors dramatic
reproductive advantage are rare.
- Finally, several
researchers (Holland 1992, p.72;
Forrest 1993, p.875; Haupt and Haupt 1998, p.18) advise
against using genetic algorithms on analytically solvable
problems. It is not that genetic algorithms cannot find
good solutions to such problems; it is merely that
traditional analytic methods take much less time and
computational effort than GAs and, unlike GAs, are usually
mathematically guaranteed to deliver the one exact
solution. Of course, since there is no such thing as a
mathematically perfect solution to any problem of
biological adaptation, this issue does not arise in
nature.
Some specific examples of GAs
|
|
As the power of evolution gains increasingly widespread
recognition, genetic algorithms have been used to tackle a
broad variety of problems in an extremely diverse array of
fields, clearly showing their power and their potential.
This section will discuss some of the more noteworthy uses
to which they have been put.
- Acoustics
Sato et al. 2002 used genetic
algorithms to design a concert hall with optimal acoustic
properties, maximizing the sound quality for the audience,
for the conductor, and for the musicians on stage. This
task involves the simultaneous optimization of multiple
variables. Beginning with a shoebox-shaped hall, the
authors' GA produced two non-dominated solutions, both of
which were described as "leaf-shaped" (p.526). The authors
state that these solutions have proportions similar to
Vienna's Grosser Musikvereinsaal, which is widely agreed to
be one of the best - if not the best - concert hall in the
world in terms of acoustic properties.
Porto, Fogel and Fogel 1995 used
evolutionary programming to train neural networks to
distinguish between sonar reflections from different types
of objects: man-made metal spheres, sea mounts, fish and
plant life, and random background noise. After 500
generations, the best evolved neural network had a
probability of correct classification ranging between 94%
and 98% and a probability of misclassification between 7.4%
and 1.5%, which are "reasonable probabilities of detection
and false alarm" (p.21). The evolved network matched the
performance of another network developed by simulated
annealing and consistently outperformed networks trained by
back propagation, which "repeatedly stalled at suboptimal
weight sets that did not yield satisfactory results"
(p.21). By contrast, both stochastic methods showed
themselves able to overcome these local optima and produce
smaller, effective and more robust networks; but the
authors suggest that the evolutionary algorithm, unlike
simulated annealing, operates on a population and so takes
advantage of global information about the search space,
potentially leading to better performance in the long
run.
Tang et al. 1996 survey the uses of
genetic algorithms within the field of acoustics and signal
processing. One area of particular interest involves the
use of GAs to design Active Noise Control (ANC) systems,
which cancel out undesired sound by producing sound waves
that destructively interfere with the unwanted noise. This
is a multiple-objective problem requiring the precise
placement and control of multiple loudspeakers; GAs have
been used both to design the controllers and find the
optimal placement of the loudspeakers for such systems,
resulting in the "effective attenuation of noise" (p.33) in
experimental tests.
- Aerospace
engineering
Obayashi et al. 2000 used a
multiple-objective genetic algorithm to design the wing
shape for a supersonic aircraft. Three major considerations
govern the wing's configuration - minimizing aerodynamic
drag at supersonic cruising speeds, minimizing drag at
subsonic speeds, and minimizing aerodynamic load (the
bending force on the wing). These objectives are mutually
exclusive, and optimizing them all simultaneously requires
tradeoffs to be made.
The chromosome in this problem is a string of 66
real-valued numbers, each of which corresponds to a
specific aspect of the wing: its shape, its thickness, its
twist, and so on. Evolution with elitist rank selection was
simulated for 70 generations, with a population size of 64
individuals. At the termination of this process, there were
several Pareto-optimal individuals, each one representing a
single non-dominated solution to the problem. The paper
notes that these best-of-run individuals have "physically
reasonable" characteristics, indicating the validity of the
optimization technique (p.186). To further evaluate the
quality of the solutions, six of the best were compared to
a supersonic wing design produced by the SST Design Team of
Japan's National Aerospace Laboratory. All six were
competitive, having drag and load values approximately
equal to or less than the human-designed wing; one of the
evolved solutions in particular outperformed the NAL's
design in all three objectives. The authors note that the
GA's solutions are similar to a design called the "arrow
wing" which was first suggested in the late 1950s, but
ultimately abandoned in favor of the more conventional
delta-wing design.
In a follow-up paper (Sasaki et al.
2001), the authors repeat their experiment while adding
a fourth objective, namely minimizing the twisting
moment of the wing (a known potential problem for
arrow-wing SST designs). Additional control points for
thickness are also added to the array of design variables.
After 75 generations of evolution, two of the best
Pareto-optimal solutions were again compared to the
Japanese National Aerospace Laboratory's wing design for
the NEXST-1 experimental supersonic airplane. It was found
that both of these designs (as well as one optimal design
from the previous simulation, discussed above) were
physically reasonable and superior to the NAL's design in
all four objectives.
Williams, Crossley and Lang
2001 applied genetic algorithms to the task of spacing
satellite orbits to minimize coverage blackouts. As
telecommunications technology continues to improve, humans
are increasingly dependent on Earth-orbiting satellites to
perform many vital functions, and one of the problems
engineers face is designing their orbital trajectories.
Satellites in high Earth orbit, around 22,000 miles up, can
see large sections of the planet at once and be in constant
contact with ground stations, but these are far more
expensive to launch and more vulnerable to cosmic
radiation. It is more economical to put satellites in low
orbits, as low as a few hundred miles in some cases, but
because of the curvature of the Earth it is inevitable that
these satellites will at times lose line-of-sight access to
surface receivers and thus be useless. Even constellations
of several satellites experience unavoidable blackouts and
losses of coverage for this reason. The challenge is to
arrange the satellites' orbits to minimize this downtime.
This is a multi-objective problem, involving the
minimization of both the average blackout time for all
locations and the maximum blackout time for any one
location; in practice, these goals turn out to be mutually
exclusive.
When the GA was applied to this problem, the evolved
results for three, four and five-satellite constellations
were unusual, highly asymmetric orbit configurations, with
the satellites spaced by alternating large and small gaps
rather than equal-sized gaps as conventional techniques
would produce. However, this solution significantly reduced
both average and maximum revisit times, in some cases by up
to 90 minutes. In a news article about the results, Dr.
William Crossley noted that "engineers with years of
aerospace experience were surprised by the higher
performance offered by the unconventional design".
Keane and Brown 1996 used a GA
to evolve a new design for a load-bearing truss or boom
that could be assembled in orbit and used for satellites,
space stations and other aerospace construction projects.
The result, a twisted, organic-looking structure that has
been compared to a human leg bone, uses no more material
than the standard truss design but is lightweight, strong
and far superior at damping out damaging vibrations, as was
confirmed by real-world tests of the final product. And yet
"No intelligence made the designs. They just evolved" (Petit 1998). The authors of the paper
further note that their GA only ran for 10 generations due
to the computationally intensive nature of the simulation,
and the population had not become stagnant. Continuing the
run for more generations would undoubtedly have produced
further improvements in performance. |
Figure 4: A genetically optimized three-dimensional
truss with improved frequency response. (Adapted from [1].) |
Finally, as reported in Gibbs
1996, Lockheed Martin has used a genetic algorithm to
evolve a series of maneuvers to shift a spacecraft from one
orientation to another within 2% of the theoretical minimum
time for such maneuvers. The evolved solution was 10%
faster than a solution hand-crafted by an expert for the
same problem.
- Astronomy and
astrophysics
Charbonneau 1995 suggests
the usefulness of GAs for problems in astrophysics by
applying them to three example problems: fitting the
rotation curve of a galaxy based on observed rotational
velocities of its components, determining the pulsation
period of a variable star based on time-series data, and
solving for the critical parameters in a
magnetohydrodynamic model of the solar wind. All three of
these are hard multi-dimensional nonlinear problems.
Charbonneau's genetic algorithm, PIKAIA, uses generational,
fitness-proportionate ranking selection coupled with
elitism, ensuring that the single best individual is copied
over once into the next generation without modification.
PIKAIA has a crossover rate of 0.65 and a variable mutation
rate that is set to 0.003 initially and gradually increases
later on, as the population approaches convergence, to
maintain variability in the gene pool.
In the galactic rotation-curve problem, the GA produced two
curves, both of which were very good fits to the data (a
common result in this type of problem, in which there is
little contrast between neighboring hilltops); further
observations can then distinguish which one is to be
preferred. In the time-series problem, the GA was
impressively successful in autonomously generating a
high-quality fit for the data, but harder problems were not
fitted as well (although, Charbonneau points out, these
problems are equally difficult to solve with conventional
techniques). The paper suggests that a hybrid GA employing
both artificial evolution and standard analytic techniques
might perform better. Finally, in solving for the six
critical parameters of the solar wind, the GA successfully
determined the value of three of them to an accuracy of
within 0.1% and the remaining three to accuracies of within
1 to 10%. (Though lower experimental error for these three
would always be preferable, Charbonneau notes that there
are no other robust, efficient methods for experimentally
solving a six-dimensional nonlinear problem of this type; a
conjugate gradient method works "as long as a very
good starting guess can be provided" (p.323). By contrast,
GAs do not require such finely tuned domain-specific
knowledge.)
Based on the results obtained so far, Charbonneau suggests
that GAs can and should find use in other difficult
problems in astrophysics, in particular inverse problems
such as Doppler imaging and helioseismic inversions. In
closing, Charbonneau argues that GAs are a "strong and
promising contender" (p.324) in this field, one that can be
expected to complement rather than replace traditional
optimization techniques, and concludes that "the bottom
line, if there is to be one, is that genetic algorithms
work, and often frightfully well" (p.325).
- Chemistry
High-powered, ultrashort pulses of laser energy can split
apart complex molecules into simpler molecules, a process
with important applications to organic chemistry and
microelectronics. The specific end products of such a
reaction can be controlled by modulating the phase of the
laser pulse. However, for large molecules, solving for the
desired pulse shape analytically is too difficult: the
calculations are too complex and the relevant
characteristics (the potential energy surfaces of the
molecules) are not known precisely enough.
Assion et al. 1998 solved this
problem by using an evolutionary algorithm to design the
pulse shape. Instead of inputting complex, problem-specific
knowledge about the quantum characteristics of the input
molecules to design the pulse to specifications, the EA
fires a pulse, measures the proportions of the resulting
product molecules, randomly mutates the beam
characteristics with the hope of getting these proportions
closer to the desired output, and the process repeats.
(Rather than fine-tune any characteristics of the laser
beam directly, the authors' GA represents individuals as a
set of 128 numbers, each of which is a voltage value that
controls the refractive index of one of the pixels in the
laser light modulator. Again, no problem-specific knowledge
about the properties of either the laser or the reaction
products is needed.) The authors state that their
algorithm, when applied to two sample substances,
"automatically finds the best configuration... no matter
how complicated the molecular response may be" (p.920),
demonstrating "automated coherent control on products that
are chemically different from each other and from the
parent molecule" (p.921).
In the early to mid-1990s, the widespread adoption of a
novel drug design technique called combinatorial
chemistry revolutionized the pharmaceutical industry.
In this method, rather than the painstaking, precise
synthesis of a single compound at a time, biochemists
deliberately mix a wide variety of reactants to produce an
even wider variety of products - hundreds, thousands or
millions of different compounds per batch - which can then
be rapidly screened for biochemical activity. In designing
libraries of reactants for this technique, there are two
main approaches: reactant-based design, which chooses
optimized groups of reactants without considering what
products will result, and product-based design, which
selects reactants most likely to produce products with the
desired properties. Product-based design is more difficult
and complex, but has been shown to result in better and
more diverse combinatorial libraries and a greater
likelihood of getting a usable result.
In a paper funded by GlaxoSmithKline's research and
development department, Gillet
2002 discusses the use of a multiobjective genetic
algorithm for the product-based design of combinatorial
libraries. In choosing the compounds that go into a
particular library, qualities such as molecular diversity
and weight, cost of supplies, toxicity, absorption,
distribution, and metabolism must all be considered. If the
aim is to find molecules similar to an existing molecule of
known function (a common method of new drug design),
structural similarity can also be taken into account. This
paper presents a multiobjective approach where a set of
Pareto-optimal results that maximize or minimize each of
these objectives can be developed. The author concludes
that the GA was able to simultaneously satisfy the criteria
of molecular diversity and maximum synthetic efficiency,
and was able to find molecules that were drug-like as well
as "very similar to given target molecules after exploring
a very small fraction of the total search space"
(p.378).
In a related paper, Glen and Payne
1995 discuss the use of genetic algorithms to
automatically design new molecules from scratch to fit a
given set of specifications. Given an initial population
either generated randomly or using the simple molecule
ethane as a seed, the GA randomly adds, removes and alters
atoms and molecular fragments with the aim of generating
molecules that fit the given constraints. The GA can
simultaneously optimize a large number of objectives,
including molecular weight, molecular volume, number of
bonds, number of chiral centers, number of atoms, number of
rotatable bonds, polarizability, dipole moment, and more in
order to produce candidate molecules with the desired
properties. Based on experimental tests, including one
difficult optimization problem that involved generating
molecules with properties similar to ribose (a sugar
compound frequently mimicked in antiviral drugs), the
authors conclude that the GA is an "excellent idea
generator" (p.199) that offers "fast and powerful
optimisation properties" and can generate "a diverse set of
possible structures" (p.182). They go on to state, "Of
particular note is the powerful optimising ability of the
genetic algorithm, even with relatively small population
sizes" (p.200). In a sign that these results are not merely
theoretical, Lemley 2001 reports
that the Unilever corporation has used genetic algorithms
to design new antimicrobial compounds for use in cleansers,
which it has patented.
- Electrical
engineering
A field-programmable gate array, or FPGA for short, is a
special type of circuit board with an array of logic cells,
each of which can act as any type of logic gate, connected
by flexible interlinks which can connect cells. Both of
these functions are controlled by software, so merely by
loading a special program into the board, it can be altered
on the fly to perform the functions of any one of a vast
variety of hardware devices.
Dr. Adrian Thompson has exploited this device, in
conjunction with the principles of evolution, to produce a
prototype voice-recognition circuit that can distinguish
between and respond to spoken commands using only 37 logic
gates - a task that would have been considered impossible
for any human engineer. He generated random bit strings of
0s and 1s and used them as configurations for the FPGA,
selecting the fittest individuals from each generation,
reproducing and randomly mutating them, swapping sections
of their code and passing them on to another round of
selection. His goal was to evolve a device that could at
first discriminate between tones of different frequencies
(1 and 10 kilohertz), then distinguish between the spoken
words "go" and "stop".
This aim was achieved within 3000 generations, but the
success was even greater than had been anticipated. The
evolved system uses far fewer cells than anything a human
engineer could have designed, and it does not even need the
most critical component of human-built systems - a clock.
How does it work? Thompson has no idea, though he has
traced the input signal through a complex arrangement of
feedback loops within the evolved circuit. In fact, out of
the 37 logic gates the final product uses, five of them are
not even connected to the rest of the circuit in any way -
yet if their power supply is removed, the circuit stops
working. It seems that evolution has exploited some subtle
electromagnetic effect of these cells to come up with its
solution, yet the exact workings of the complex and
intricate evolved structure remain a mystery (Davidson 1997).
Altshuler and Linden 1997 used
a genetic algorithm to evolve wire antennas with
pre-specified properties. The authors note that the design
of such antennas is an imprecise process, starting with the
desired properties and then determining the antenna's shape
through "guesses.... intuition, experience, approximate
equations or empirical studies" (p.50). This technique is
time-consuming, often does not produce optimal results, and
tends to work well only for relatively simple, symmetric
designs. By contrast, in the genetic algorithm approach,
the engineer specifies the antenna's electromagnetic
properties, and the GA automatically synthesizes a matching
configuration.
Figure 5: A crooked-wire genetic antenna
(after Altshuler and Linden
1997, figure 1). |
Altshuler and Linden used their GA to
design a circularly polarized seven-segment antenna with
hemispherical coverage; the result is shown to the left.
Each individual in the GA consisted of a binary chromosome
specifying the three-dimensional coordinates of each end of
each wire. Fitness was evaluated by simulating each
candidate according to an electromagnetic wiring code, and
the best-of-run individual was then built and tested. The
authors describe the shape of this antenna, which does not
resemble traditional antennas and has no obvious symmetry,
as "unusually weird" and "counter-intuitive" (p.52), yet it
had a nearly uniform radiation pattern with high bandwidth
both in simulation and in experimental testing, excellently
matching the prior specification. The authors conclude that
a genetic algorithm-based method for antenna design shows
"remarkable promise". "...this new design procedure is
capable of finding genetic antennas able to effectively
solve difficult antenna problems, and it will be
particularly useful in situations where existing designs
are not adequate" (p.52). |
- Financial
markets
Mahfoud and Mani 1996 used a
genetic algorithm to predict the future performance of 1600
publicly traded stocks. Specifically, the GA was tasked
with forecasting the relative return of each stock, defined
as that stock's return minus the average return of all 1600
stocks over the time period in question, 12 weeks (one
calendar quarter) into the future. As input, the GA was
given historical data about each stock in the form of a
list of 15 attributes, such as price-to-earnings ratio and
growth rate, measured at various past points in time; the
GA was asked to evolve a set of if/then rules to classify
each stock and to provide, as output, both a recommendation
on what to do with regards to that stock (buy, sell, or no
prediction) and a numerical forecast of the relative
return. The GA's results were compared to those of an
established neural net-based system which the authors had
been using to forecast stock prices and manage portfolios
for three years previously. Of course, the stock market is
an extremely noisy and nonlinear system, and no predictive
mechanism can be correct 100% of the time; the challenge is
to find a predictor that is accurate more often than
not.
In the experiment, the GA and the neural net each made
forecasts at the end of the week for each one of the 1600
stocks, for twelve consecutive weeks. Twelve weeks after
each prediction, the actual performance was compared with
the predicted relative return. Overall, the GA
significantly outperformed the neural network: in one trial
run, the GA correctly predicted the direction of one stock
47.6% of the time, made no prediction 45.8% of the time,
and made an incorrect prediction only 6.6% of the time, for
an overall predictive accuracy of 87.8%. Although the
neural network made definite predictions more often, it was
also wrong in its predictions more often (in fact, the
authors speculate that the GA's greater ability to make no
prediction when the data were uncertain was a factor in its
success; the neural net always produces a prediction unless
explicitly restricted by the programmer). In the 1600-stock
experiment, the GA produced a relative return of +5.47%,
versus +4.40% for the neural net - a statistically
significant difference. In fact, the GA also significantly
outperformed three major stock market indices - the S&P
500, the S&P 400, and the Russell 2000 - over this
period; chance was excluded as the cause of this result at
the 95% confidence level. The authors attribute this
compelling success to the ability of the genetic algorithm
to learn nonlinear relationships not readily apparent to
human observers, as well as the fact that it lacks a human
expert's "a priori bias against counterintuitive or
contrarian rules" (p.562).
Similar success was achieved by Andreou, Georgopoulos and Likothanassis
2002, who used hybrid genetic algorithms to evolve
neural networks that predicted the exchange rates of
foreign currencies up to one month ahead. As opposed to the
last example, where GAs and neural nets were in
competition, here the two worked in concert, with the GA
evolving the architecture (number of input units, number of
hidden units, and the arrangement of the links between
them) of the network which was then trained by a filter
algorithm.
As historical information, the algorithm was given 1300
previous raw daily values of five currencies - the American
dollar, the German deutsche mark, the French franc, the
British pound, and the Greek drachma - and asked to predict
their future values 1, 2, 5, and 20 days ahead. The hybrid
GA's performance, in general, showed a "remarkable level of
accuracy" (p.200) in all cases tested, outperforming
several other methods including neural networks alone.
Correlations for the one-day case ranged from 92 to 99%,
and though accuracy decreased over increasingly greater
time lags, the GA continued to be "quite successful"
(p.206) and clearly outperformed the other methods. The
authors conclude that "remarkable prediction success has
been achieved in both a one-step ahead and a multistep
predicting horizon" (p.208) - in fact, they state that
their results are better by far than any related predictive
strategies attempted on this data series or other
currencies.
The uses of GAs on the financial markets have begun to
spread into real-world brokerage firms. Naik 1996 reports that LBS Capital
Management, an American firm headquartered in Florida, uses
genetic algorithms to pick stocks for a pension fund it
manages. Coale 1997 and Begley and Beals 1995 report that
First Quadrant, an investment firm in California that
manages over $2.2 billion, uses GAs to make investment
decisions for all of their financial services. Their
evolved model earns, on average, $255 for every $100
invested over six years, as opposed to $205 for other types
of modeling systems.
- Game
playing
One of the most novel and compelling demonstrations of the
power of genetic algorithms was presented by Chellapilla and Fogel 2001, who
used a GA to evolve neural networks that could play the
game of checkers. The authors state that one of the major
difficulties in these sorts of strategy-related problems is
the credit assignment problem - in other words, how
does one write a fitness function? It has been widely
believed that the mere criterion of win, lose or draw does
not provide sufficient information for an evolutionary
algorithm to figure out what constitutes good play.
In this paper, Chellapilla and Fogel overturn that
assumption. Given only the spatial positions of pieces on
the checkerboard and the total number of pieces possessed
by each side, they were able to evolve a checkers program
that plays at a level competitive with human experts,
without any intelligent input as to what constitutes good
play - indeed, the individuals in the evolutionary algorithm
were not even told what the criteria for a win were, nor were
they told the result of any one game.
In Chellapilla and Fogel's representation, the game state was represented by a numeric list of 32 elements, with each position in the list corresponding to an available position on the board. The value at each position was either 0 for an unoccupied square, -1 if that
square was occupied by an enemy checker, +1 if that square
was occupied by one of the program's checkers, and -K or +K
for a square occupied by an enemy or friendly king. (The
value of K was not pre-specified, but again was determined
by evolution over the course of the algorithm.)
Accompanying this was a neural network with multiple
processing layers and one input layer with a node for each
of the possible 4x4, 5x5, 6x6, 7x7 and 8x8 squares on the
board. The output of the neural net for any given
arrangement of pieces was a value from -1 to +1 indicating
how good it felt that position was for it. For each move,
the neural network was presented with a game tree listing
all possible moves up to four turns into the future, and a
move decision was made based on which branch of the tree
produced the best results for it.
The evolutionary algorithm began with a population of 15 neural networks with randomly generated weights and biases assigned to each node and link; each individual then reproduced once, generating an offspring with variations in the values of the network. These 30 individuals then competed for survival by playing against each other, with each individual competing against 5 randomly chosen opponents per turn. 1 point was awarded for each win and 2 points were deducted for each loss. The 15 best performers, based on total score, were selected to produce offspring for the next generation, and the process repeated. Evolution was continued for 840 generations (approximately six months of computer time).
Class |
Rating |
Senior Master |
2400+ |
Master |
2200-2399 |
Expert |
2000-2199 |
Class A |
1800-1999 |
Class B |
1600-1799 |
Class C |
1400-1599 |
Class J |
< 200 |
|
The single best individual that emerged
from this selection was entered as a competitor on the
gaming website www.zone.com. Over a period
of two months, it played against 165 human opponents
comprising a range of high skill levels, from class C to
master, according to the ranking system of the United
States Chess Federation (shown at left, some ranks omitted
for clarity). Of these games, the neural net won 94, lost
39 and drew 32; based on the rankings of the opponents in
these games, the evolved neural net was equivalent to a
player with a mean rating of 2045.85, placing it at the
expert level - a higher ranking than 99.61% of over 80,000
players registered at the website. One of the neural net's
most significant victories was when it defeated a player
ranked 98th out of all registered players, whose rating was
just 27 points below master level. |
Tests conducted with a simple piece-differential program
(which bases moves solely on the difference between the number of checkers remaining to each side) with an eight-move look-ahead showed the neural net to be significantly superior, with a
rating over 400 points higher. "A program that relies only
on the piece count and an eight-ply search will defeat a
lot of people, but it is not an expert. The best evolved
neural network is" (p.425). Even when it was searching
positions two further moves ahead than the neural net, the
piece-differential program lost decisively in eight out of
ten games. This conclusively demonstrates that the evolved
neural net is not merely counting pieces, but is somehow
processing spatial characteristics of the board to decide
its moves. The authors point out that opponents on zone.com
often commented that the neural net's moves were "strange",
but its overall level of play was described as "very tough"
or with similar complimentary terms.
To further test the evolved neural network (which the
authors named "Anaconda" since it often won by restricting
its opponents' mobility), it was played against a
commercial checkers program, Hoyle's Classic Games,
distributed by Sierra Online (Chellapilla and Fogel 2000).
This program comes with a variety of built-in characters,
each of whom plays at a different skill level. Anaconda was
tested against three characters ("Beatrice", "Natasha" and
"Leopold") designated as expert-level players, playing one
game as red and one game as white against each of them with
a six-ply look-ahead. Though the authors doubted that this
depth of look-ahead would give Anaconda the ability to play
at the expert skill level it had previously shown, it won
six straight victories out of all six games played. Based
on this outcome, the authors expressed skepticism over
whether the Hoyle software played at the skill level
advertised, though it should be noted that they reached
this conclusion based solely on the ease with which
Anaconda defeated it!
The ultimate test of Anaconda was given in Chellapilla and Fogel 2002,
where the evolved neural net was matched against the best
checkers player in the world: Chinook, a
program designed principally by Dr. Jonathan Schaeffer of
the University of Alberta. Rated at 2814 in 1996 (with its
closest human competitors rated in the 2600s), Chinook
incorporates a book of opening moves provided by human
grandmasters, a sophisticated set of middle-game
algorithms, and a complete database of all possible moves
with ten pieces on the board or less, so it never makes a
mistake in the endgame. An enormous amount of human
intelligence and expertise went into the design of this
program.
Chellapilla and Fogel pitted Anaconda against Chinook in a
10-game tournament, with Chinook playing at a 5-ply skill
level, making it roughly approximate to master level.
Chinook won this contest, four wins to two with four draws.
(Interestingly, the authors note, in two of the games that
ended as draws, Anaconda held the lead with four kings to
Chinook's three. Furthermore, one of Chinook's wins came
from a 10-ply series of movies drawn from its endgame
database, which Anaconda with an 8-ply look-ahead could not
have anticipated. If Anaconda had had access to an endgame
database of the same quality as Chinook's, the outcome of
the tournament might well have been a victory for Anaconda,
four wins to three.) These results "provide good support
for the expert-level rating that Anaconda earned on
www.zone.com" (p.76), with an overall rating of 2030-2055,
comparable to the 2045 rating it earned by playing against
humans. While Anaconda is not an invulnerable player, it is
able to play competitively at the expert level and hold its
own against a variety of extremely skilled human checkers
players. When one considers the very simple fitness
criterion under which these results were obtained, the
emergence of Anaconda provides dramatic corroboration of
the power of evolution.
- Geophysics
Sambridge and Gallagher 1993
used a genetic algorithm to locate earthquake hypocenters
based on seismological data. (The hypocenter is the point
beneath the Earth's surface at which an earthquake begins.
The epicenter is the point on the surface directly above
the hypocenter.) This is an exceedingly complex task, since
the properties of seismic waves depend on the properties of
the rock layers through which they travel. The traditional
method for locating the hypocenter relies upon what is
known as a seismic inversion algorithm, which starts with a
best guess of the location, calculates the derivatives of
wave travel time with respect to source position, and
performs a matrix operation to provide an updated location.
This process is repeated until an acceptable solution is
reached. (This Post
of the Month, from November 2003, provides more
information.) However, this method requires derivative
information and is prone to becoming trapped on local
optima.
A location algorithm that does not depend on derivative
information or velocity models can avoid these shortfalls
by calculating only the forward problem - the difference
between observed and predicted wave arrival times for
different hypocenter locations. However, an exhaustive
search based on this method would be far too
computationally expensive. This, of course, is precisely
the type of optimization problem at which genetic
algorithms excel. Like all GAs, the one proposed by the
cited paper is parallel in nature - rather than
progressively perturbing a single hypocenter closer and
closer to the solution, it begins with a cloud of potential
hypocenters which shrinks over time to converge on a single
solution. The authors state that their approach "can
rapidly locate near optimal solutions without an exhaustive
search of the parameter space" (p.1467), displays "highly
organized behavior resulting in efficient search" and is "a
compromise between the efficiency of derivative based
methods and the robustness of a fully nonlinear exhaustive
search" (p.1469). The authors conclude that their genetic
algorithm is "efficient for truly global optimization"
(p.1488) and "a powerful new tool for performing robust
hypocenter location" (p.1489).
- Materials
engineering
Giro, Cyrillo and Galvão
2002 used genetic algorithms to design electrically
conductive carbon-based polymers known as polyanilines.
These polymers, a recently invented class of synthetic
materials, have "large technological potential
applications" and may open up windows onto "new fundamental
physical phenomena" (p.170). However, due to their high
reactivity, carbon atoms can form a virtually infinite
number of structures, making a systematic search for new
molecules with interesting properties all but impossible.
In this paper, the authors apply a GA-based approach to the
task of designing new molecules with pre-specified
properties, starting with a randomly generated population
of initial candidates. They conclude that their methodology
can be a "very effective tool" (p.174) to guide
experimentalists in the search for new compounds and is
general enough to be extended to the design of novel
materials belonging to virtually any class of
molecules.
Weismann, Hammel and Bäck
1998 applied evolutionary algorithms to a "nontrivial"
(p.162) industrial problem: the design of multilayer
optical coatings used for filters that reflect, transmit or
absorb light of specified frequencies. These coatings are
used in the manufacture of sunglasses, for example, or
compact discs. Their manufacture is a precise task: the
layers must be laid down in a particular sequence and
particular thicknesses to produce the desired result, and
uncontrollable environmental variations in the
manufacturing environment such as temperature, pollution
and humidity may affect the performance of the finished
product. Many local optima are not robust against such
variations, meaning that maximum product quality must be
paid for with higher rates of undesirable deviation. The
particular problem considered in this paper also had
multiple criteria: in addition to the reflectance, the
spectral composition (color) of the reflected light was
also considered.
The EA operated by varying the number of coating layers and
the thickness of each, and produced designs that were
"substantially more robust to parameter variation" (p.166)
and had higher average performance than traditional
methods. The authors conclude that "evolutionary algorithms
can compete with or even outperform traditional methods"
(p.167) of multilayer optical coating design, without
having to incorporate domain-specific knowledge into the
search function and without having to seed the population
with good initial designs.
One more use of GAs in the field of materials engineering
merits mention: Robin et al. 2003
used GAs to design exposure patterns for an electron
lithography beam, used to etch submicrometer-scale
structures onto integrated circuits. Designing these
patterns is a highly difficult task; it is cumbersome and
wasteful to determine them experimentally, but the high
dimensionality of the search space defeats most search
algorithms. As many as 100 parameters must be optimized
simultaneously to control the electron beam and prevent
scattering and proximity effects that would otherwise ruin
the fine structures being sculpted. The forward problem -
determining the resulting structure as a function of the
electron dose - is straightforward and easy to simulate,
but the inverse problem of determining the electron
dose to produce a given structure, which is what is being
solved here, is far harder and no deterministic solution
exists.
Genetic algorithms, which are "known to be able to find
good solutions to very complex problems of high
dimensionality" (p.75) without needing to be supplied with
domain-specific information on the topology of the search
landscape, were applied successfully to this problem. The
paper's authors employed a steady-state GA with
roulette-wheel selection in a computer simulation, which
yielded "very good optimized" (p.77) exposure patterns. By
contrast, a type of hill-climber known as a
simplex-downhill algorithm was applied to the same problem,
without success; the SD method quickly became trapped in
local optima which it could not escape, yielding solutions
of poor quality. A hybrid approach of the GA and SD methods
also could not improve on the results delivered by the GA
alone.
- Mathematics and
algorithmics
Although some of the most promising applications and
compelling demonstrations of GAs' power are in the field of
engineering design, they are also relevant to "pure"
mathematical problems. Haupt and Haupt
1998 (p.140) discuss the use of GAs to solve high-order
nonlinear partial differential equations, typically by
finding the values for which the equations equal zero, and
give as an example a near-perfect GA solution for the
coefficients of the fifth-order Super Korteweg-de Vries
equation.
Sorting a list of items into order is an important task in
computer science, and a sorting network is an
efficient way to accomplish this. A sorting network is a
fixed list of comparisons performed on a set of a given
size; in each comparison, two elements are compared and
exchanged if not in order. Koza et al.
1999, p. 952 used genetic programming to evolve minimal
sorting networks for 7-item sets (16 comparisons), 8-item
sets (19 comparisons), and 9-item sets (25 comparisons). Mitchell 1996, p.21, discusses the
use of genetic algorithms by W. Daniel Hillis to find a
61-comparison sorting network for a 16-item set, only one
step more than the smallest known. This latter example is
particularly interesting for two innovations it used:
diploid chromosomes, and more notably, host-parasite
coevolution. Both the sorting networks and the test cases
evolved alongside each other; sorting networks were given
higher fitness based on how many test cases they sorted
correctly, while test cases were given higher fitness based
on how many sorting networks they could "trick" into
sorting incorrectly. The GA with coevolution performed
significantly better than the same GA without it.
One final, noteworthy example of GAs in the field of
algorithmics can be found in Koza et
al. 1999, who used genetic programming to discover a
rule for the majority classification problem in
one-dimensional cellular automata that is better than all
known rules written by humans. A one-dimensional cellular
automaton can be thought of as a finite tape with a given
number of positions (cells) on it, each of which can hold
either the state 0 or the state 1. The automaton runs for a
given number of time steps; at each step, every cell
acquires a new value based on its previous value and the
value of its nearest neighbors. (The Game
of Life is a two-dimensional cellular automaton.) The
majority classification problem entails finding a table of
rules such that, if more than half the cells on the tape
are 1 initially, all the cells go to 1; otherwise all the
cells go to 0. The challenge lies in the fact that any
individual cell can only access information about its
nearest neighbors; therefore, good rule sets must somehow
find a way to transmit information about distant regions of
the tape.
It is known that a perfect solution to this problem does
not exist - no rule set can accurately classify all
possible initial configurations - but over the past twenty
years, there has been a long succession of increasingly
better solutions. In 1978, three researchers developed the
so-called GKL rule, which correctly classifies 81.6% of the
possible initial states. In 1993, a better rule with an
accuracy of 81.8% was discovered; in 1995, another rule
with accuracy of 82.178% was found. All of these rules
required significant work by intelligent, creative humans
to develop. By contrast, the best rule discovered by a run
of genetic programming, given in Koza
et al. 1999, p.973, has an overall accuracy of 82.326%
- better than any of the human-created solutions that have
been developed over the last two decades. The authors note
that their new rules are qualitatively different from
previously published rules, employing fine-grained internal
representations of state density and intricate sets of
signals for communicating information over long
distance.
- Military and law
enforcement
Kewley and Embrechts 2002 used
genetic algorithms to evolve tactical plans for military
battles. The authors note that "[p]lanning for a tactical
military battle is a complex, high-dimensional task which
often bedevils experienced professionals" (p.163), not only
because such decisions are usually made under high-stress
conditions, but also because even simple plans require a
great number of conflicting variables and outcomes to take
into account: minimizing friendly casualties, maximizing
enemy casualties, controlling desired terrain, conserving
resources, and so on. Human planners have difficulty
dealing with the complexities of this task and often must
resort to "quick and dirty" approaches, such as doing
whatever worked last time.
To overcome these difficulties, the authors of the cited
paper developed a genetic algorithm to automate the
creation of battle plans, in conjunction with a graphical
battle simulator program. The commander enters the
preferred outcome, and the GA automatically evolves a
battle plan; in the simulation used, factors such as the
topography of the land, vegetative cover, troop movement
speed, and firing accuracy were taken into account. In this
experiment, co-evolution was also used to improve the
quality of the solutions: battle plans for the enemy forces
evolved concurrently with friendly plans, forcing the GA to
correct any weaknesses in its own plan that an enemy could
exploit. To measure the quality of solutions produced by
the GA, they were compared to battle plans for the same
scenario produced by a group of "experienced military
experts... considered to be very capable of developing
tactical courses of action for the size forces used in this
experiment" (p.166). These seasoned experts both developed
their own plan and, when the GA's solution was complete,
were given a chance to examine it and modify it as they saw
fit. Finally, all the sets of plans were run multiple times
on the simulator to determine their average quality.
The results speak for themselves: the evolved solution
outperformed both the military experts' own plan and the
plan produced by their modifications to the GA's solution.
"...[T]he plans produced by automated algorithms had a
significantly higher mean performance than those generated
by experienced military experts" (p.161). Furthermore, the
authors note that the GA's plan made good tactical sense.
(It involved a two-pronged attack on the enemy position by
mechanized infantry platoons supported by attack
helicopters and ground scouts, in conjunction with unmanned
aerial vehicles conducting reconnaissance to direct
artillery fire.) In addition, the evolved plan included
individual friendly units performing doctrinal missions -
an emergent property that appeared during the course of the
run, rather than being specified by the experimenter. In
increasingly networked modern battlefields, the attractive
potential of an evolutionary algorithm that can automate
the production of high-quality tactical plans should be
obvious.
An interesting use of GAs in law enforcement was reported
in Naik 1996, which described the
"FacePrints" software, a project to help witnesses identify
and describe criminal suspects. The cliched image of the
police sketch artist drawing a picture of the suspect's
face in response to witnesses' promptings is a difficult
and inefficient method: most people are not good at
describing individual aspects of a person's face, such as
the size of the nose or shape of the jaw, but instead are
better at recognizing whole faces. FacePrints takes
advantage of this by using a genetic algorithm that evolves
pictures of faces based on databases of hundreds of
individual features that can be combined in a vast number
of ways. The program shows randomly generated face images
to witnesses, who pick the ones that most resemble the
person they saw; the selected faces are then mutated and
bred together to generate new combinations of features, and
the process repeats until an accurate portrait of the
suspect's face emerges. In one real-life robbery case, the
final portraits created by the three witnesses were
strikingly similar, and the resulting picture was printed
in the local paper.
- Molecular biology
In living things, transmembrane proteins are
proteins that protrude through a cellular membrane.
Transmembrane proteins often perform important functions
such as sensing the presence of certain substances outside
the cell or transporting them into the cell. Understanding
the behavior of a transmembrane protein requires
identifying the segment of that protein that is actually
embedded within the membrane, which is called the
transmembrane domain. Over the last two decades,
molecular biologists have published a succession of
increasingly accurate algorithms for this purpose.
All proteins used by living things are made up of the same
20 amino acids. Some of these amino acids are
hydrophobic, meaning they are repelled by water, and
some are hydrophilic, meaning they are attracted to
water. Amino acid sequences that are part of a
transmembrane domain are more likely to be hydrophobic.
However, hydrophobicity is not a precisely defined
characteristic, and there is no one agreed-upon scale for
measuring it.
Koza et al. 1999, chapter 16, used
genetic programming to design an algorithm to identify
transmembrane domains of a protein. Genetic programming was
given a set of standard mathematical operators to work
with, as well as a set of boolean amino-acid-detecting
functions that return +1 if the amino acid at a given
position is the amino acid they detect and otherwise return
-1. (For example, the A? function takes as an argument one
number corresponding to a position within the protein, and
returns +1 if the amino acid at that position is alanine,
which is denoted by the letter A; otherwise it returns -1).
A single shared memory variable kept a running count of the
overall sum, and when the algorithm completed, the protein
segment was identified as a transmembrane domain if its
value was positive. Given only these tools, would it entail
the creation of new information for a human designer to
produce an efficient solution to this problem?
The solutions produced by genetic programming were
evaluated for fitness by testing them on 246 protein
segments whose transmembrane status was known. The
best-of-run individual was then evaluated on 250
additional, out-of-sample, test cases and compared to the
performance of the four best known human-written algorithms
for the same purpose. The result: Genetic programming
produced a transmembrane segment-identifying algorithm with
an overall error rate of 1.6% - significantly lower than
all four human-written algorithms, the best of which had an
error rate of 2.5%. The genetically designed algorithm,
which the authors dubbed the 0-2-4 rule, operates as
follows:
- Increment the running sum by 4 for each instance of
glutamic acid (an electrically charged and highly
hydrophilic) amino acid in the protein segment.
- Increment the running sum by 0 for each instance of
alanine, phenylalanine, isoleucine, leucine, methionine, or
valine (all highly hydrophobic amino acids) in the
protein segment.
- Increment the running sum by 2 for each instance of all
other amino acids.
- If [(SUM - 3.1544)/0.9357] is less than the length of
the protein segment, classify that segment as a
transmembrane domain; otherwise, classify it as a
nontransmembrane domain.
- Pattern recognition and
data mining
Competition in the telecommunications industry today is
fierce, and a new term - "churn" - has been coined to
describe the rapid rate at which subscribers switch from
one service provider to another. Churn costs telecom
carriers a large amount of money each year, and reducing
churn is an important factor in increasing profitability.
If carriers can contact customers who are likely to switch
and offer them special incentives to stay, churn rates can
be reduced; but no carrier has the resources to contact
more than a small percent of its customers. The problem is
therefore how to identify customers who are more likely to
churn. All carriers have extensive databases of customer
information that can theoretically be used for this
purpose; but what method works best for sifting through
this vast amount of data to identify the subtle patterns
and trends that signify a customer's likelihood of
churning?
Au, Chan and Yao 2003 applied genetic
algorithms to this problem to generate a set of if-then
rules that predict the churning probability of different
groups of customers. In their GA, the first generation of
rules, all of which had one condition, was generated using
a probabilistic induction technique. Subsequent generations
then refine these, combining simple, single-condition rules
into more complex, multi-condition rules. The fitness
measure used an objective "interestingness" measure of
correlation which requires no subjective input. The
evolutionary data-mining algorithm was tested on a
real-world database of 100,000 subscribers provided by a
Malaysian carrier, and its performance was compared against
two alternative methods: a multilayer neural network and a
widely used decision-tree-based algorithm, C4.5. The
authors state that their EA was able to discover hidden
regularities in the database and was "able to make accurate
churn prediction under different churn rates" (p.542),
outperforming C4.5 under all circumstances, outperforming
the neural network under low monthly churn rates and
matching the neural network under larger churn rates, and
reaching conclusions more quickly in both cases. Some
further advantages of the evolutionary approach are that it
can operate efficiently even when some data fields are
missing and that it can express its findings in easily
understood rule sets, unlike the neural net.
Among some of the more interesting rules discovered by the
EA are as follows: subscribers are more likely to churn if
they are personally subscribed to the service plan and have
not been admitted to any bonus scheme (a potential solution
is to admit all such subscribers to bonus schemes);
subscribers are more likely to churn if they live in Kuala
Lumpur, are between 36 and 44 in age, and pay their bills
with cash (presumably because it is easier for subscribers
who pay cash, rather than those whose accounts are
automatically debited, to switch providers); and
subscribers living in Penang who signed up through a
certain dealer are more likely to churn (this dealer may be
providing poor customer service and should be
investigated).
Rizki, Zmuda and Tamburino 2002
used evolutionary algorithms to evolve a complex pattern
recognition system with a wide variety of potential uses.
The authors note that the task of pattern recognition is
increasingly being performed by machine learning
algorithms, evolutionary algorithms in particular. Most
such approaches begin with a pool of predefined features,
from which an EA can select appropriate combinations for
the task at hand; by contrast, this approach began from the
ground up, first evolving individual feature detectors in
the form of expression trees, then evolving cooperative
combinations of those detectors to produce a complete
pattern recognition system. The evolutionary process
automatically selects the number of feature detectors, the
complexity of the detectors, and the specific aspects of
the data each detector responds to.
To test their system, the authors gave it the task of
classifying aircraft based on their radar reflections. The
same kind of aircraft can return quite different signals
depending on the angle and elevation at which it is viewed,
and different kinds of aircraft can return very similar
signals, so this is a non-trivial task. The evolved pattern
recognition system correctly classified 97.2% of the
targets, a higher net percentage than any of the three
other techniques - a perceptron neural network, a
nearest-neighbor classifier algorithm, and a radial basis
algorithm - against which it was tested. (The radial basis
network's accuracy was only 0.5% less than the evolved
classifier, which is not a statistically significant
difference, but the radial basis network required 256
feature detectors while the evolved recognition system used
only 17.) As the authors state, "The recognition systems
that evolve use fewer features than systems formed using
conventional techniques, yet achieve comparable or superior
recognition accuracy" (p.607). Various aspects of their
system have also been applied to problems including optical
character recognition, industrial inspection and medical
image analysis.
Hughes and Leyland 2000 also
applied multiple-objective GAs to the task of classifying
targets based on their radar reflections. High-resolution
radar cross section data requires massive amounts of disk
storage space, and it is very computationally intensive to
produce an actual model of the source from the data. By
contrast, the authors' GA-based approach proved very
successful, producing a model as good as the traditional
iterative approach while reducing the computational
overhead and storage requirements to the point where it was
feasible to generate good models on a desktop computer. By
contrast, the traditional iterative approach requires ten
times the resolution and 560,000 times as many accesses of
image data to produce models of similar quality. The
authors conclude that their results "clearly demonstrate"
(p.160) the ability of the GA to process both two- and
three-dimensional radar data of any level of resolution
with far fewer calculations than traditional methods, while
retaining acceptably high accuracy.
- Robotics
The international RoboCup tournament is a
project to promote advances in robotics, artificial
intelligence, and related fields by providing a standard
problem where new technologies can be tried out -
specifically, it is an annual soccer tournament between
teams of autonomous robots. (The stated goal is to develop
a team of humanoid robots that can win against the
world-champion human soccer team by 2050; at the present
time, most of the competing robot teams are wheeled.) The
programs that control the robotic team members must display
complex behavior, deciding when to block, when to kick, how
to move, when to pass the ball to teammates, how to
coordinate defense and offense, and so on. In the simulator
league of the 1997 competition, David Andre and Astro
Teller entered a team named Darwin United whose control
programs had been developed automatically from the ground
up by genetic programming, a challenge to the conventional
wisdom that "this problem is just too difficult for such a
technique" (Andre and Teller 1999,
p. 346).
To solve this difficult problem, Andre and Teller provided
the genetic programming algorithm with a set of primitive
control functions such as turning, moving, kicking, and so
on. (These functions were themselves subject to change and
refinement during the course of evolution.) Their fitness
function, written to reward good play in general rather
than scoring specifically, provided a list of increasingly
important objectives: getting near the ball, kicking the
ball, keeping the ball on the opponent's side of the field,
moving in the correct direction, scoring goals, and winning
the game. It should be noted that no code was provided to
teach the team specifically how to achieve these
complex objectives. The evolved programs were then
evaluated using a hierarchical selection model: first, the
candidate teams were tested on an empty field and rejected
if they did not score a goal within 30 seconds. Next, they
were evaluated against a team of stationary "kicking posts"
that kick the ball toward the opposite side of the field.
Thirdly, the team played a game against the winning team
from the RoboCup 1997 competition. Finally, teams that
scored at least one goal against this team were played off
against each other to determine which was best.
Out of 34 teams in its division, Darwin United ultimately
came in 17th, placing squarely in the middle of the field
and outranking half of the human-written entries. While a
tournament victory would undoubtedly have been more
impressive, this result is competitive and significant in
its own right, and appears even more so in the light of
history. About 25 years ago, chess-playing computer
programs were in their infancy; a computer had only
recently entered even a regional competition for the first
time, although it did not win (Sagan
1979, p.286). But "[a] machine that plays chess in the
middle range of human expertise is a very capable machine"
(ibid.), and it might be said that the same is true of
robot soccer. Just as chess-playing machines compete at
world grandmaster levels today, what types of systems will
genetic programming be producing 20 or 30 years from
now?
- Routing and
scheduling
Burke and Newall 1999 used genetic
algorithms to schedule exams among university students. The
timetable problem in general is known to be NP-complete,
meaning that no method is known to find a
guaranteed-optimal solution in a reasonable amount of time.
In such a problem, there are both hard constraints - two
exams may not be assigned to the same room at the same time
- and soft constraints - students should not be assigned to
multiple exams in succession, if possible, to minimize
fatigue. Hard constraints must be satisfied, while soft
constraints should be satisfied as far as possible. The
authors dub their hybrid approach for solving this problem
a "memetic algorithm": an evolutionary algorithm with
rank-based, fitness-proportionate selection, combined with
a local hill-climber to optimize solutions found by the EA.
The EA was applied to data sets from four real universities
(the smallest of which had an enrollment of 25,000
students), and its results were compared to results
produced by a heuristic backtracking method, a
well-established algorithm that is among the best known for
this problem and that is used at several real universities.
Compared to this method, the EA produced a result with a
quite uniform 40% reduction in penalty.
He and Mort 2000 applied genetic
algorithms to the problem of finding optimal routing paths
in telecommunications networks (such as phone networks and
the Internet) which are used to relay data from senders to
recipients. This is an NP-hard optimization problem, a type
of problem for which GAs are "extremely well suited... and
have found an enormous range of successful applications in
such areas" (p.42). It is also a multiobjective problem,
balancing conflicting objectives such as maximizing data
throughput, minimizing transmission delay and data loss,
finding low-cost paths, and distributing the load evenly
among routers or switches in the network. Any successful
real-world algorithm must also be able to re-route around
primary paths that fail or become congested.
In the authors' hybrid GA, a shortest-path-first algorithm,
which minimizes the number of "hops" a given data packet
must pass through, is used to generate the seed for the
initial population. However, this solution does not take
into account link congestion or failure, which are
inevitable conditions in real networks, and so the GA takes
over, swapping and exchanging sections of paths. When
tested on a data set derived from a real Oracle network
database, the GA was found to be able to efficiently route
around broken or congested links, balancing traffic load
and maximizing the total network throughput. The authors
state that these results demonstrate the "effectiveness and
scalability" of the GA and show that "optimal or
near-optimal solutions can be achieved" (p.49).
This technique has found real-world applications for
similar purposes, as reported in Begley and Beals 1995. The
telecommunications company U.S. West (now merged with
Qwest) was faced with the task of laying a network of
fiber-optic cable. Until recently, the problem of designing
the network to minimize the total length of cable laid was
solved by an experienced engineer; now the company uses a
genetic algorithm to perform the task automatically. The
results: "Design time for new networks has fallen from two
months to two days and saves US West $1 million to $10
million each" (p.70).
Jensen 2003 and Chryssolouris and Subramaniam
2001 applied genetic algorithms to the task of
generating schedules for job shops. This is an NP-hard
optimization problem with multiple criteria: factors such
as cost, tardiness, and throughput must all be taken into
account, and job schedules may have to be rearranged on the
fly due to machine breakdowns, employee absences, delays in
delivery of parts, and other complications, making
robustness in a schedule an important consideration. Both
papers concluded that GAs are significantly superior to
commonly used dispatching rules, producing efficient
schedules that can more easily handle delays and
breakdowns. These results are not merely theoretical, but
have been applied to real-world situations:
As reported in Naik 1996,
organizers of the 1992 Paralympic Games used a GA to
schedule events. As reported in Petzinger 1995, John Deere &
Co. has used GAs to generate schedules for a Moline,
Illinois plant that manufactures planters and other heavy
agricultural equipment. Like luxury cars, these can be
built in a wide variety of configurations with many
different parts and options, and the vast number of
possible ways to build them made efficient scheduling a
seemingly intractable problem. Productivity was hampered by
scheduling bottlenecks, worker teams were bickering, and
money was being lost. Finally, in 1993, Deere turned to
Bill Fulkerson, a staff analyst and engineer who conceived
of using a genetic algorithm to produce schedules for the
plant. Overcoming initial skepticism, the GA quickly proved
itself: monthly output has risen by 50 percent, overtime
has nearly vanished, and other Deere plants are
incorporating GAs into their own scheduling.
As reported in Rao 1998, Volvo has
used an evolutionary program called OptiFlex to schedule
its million-square-foot factory in Dublin, Virginia, a task
that requires handling hundreds of constraints and millions
of possible permutations for each vehicle. Like all genetic
algorithms, OptiFlex works by randomly combining different
scheduling possibilities and variables, determines their
fitness by ranking them according to costs, benefits and
constraints, then causes the best solutions to swap genes
and sends them back into the population for another trial.
Until recently, this daunting task was handled by a human
engineer who took up to four days to produce the schedule
for each week; now, thanks to GAs, this task can be
completed in one day with minimal human intervention.
As reported in Lemley 2001,
United Distillers and Vintners, a Scottish company that is
the largest and most profitable spirits distributor in the
world and accounts for over one-third of global grain
whiskey production, uses a genetic algorithm to manage its
inventory and supply. This is a daunting task, requiring
the efficient storage and distribution of over 7 million
barrels containing 60 distinct recipes among a vast system
of warehouses and distilleries, depending on a multitude of
factors such as age, malt number, wood type and market
conditions. Previously, coordinating this complex flow of
supply and demand required five full-time employees. Today,
a few keystrokes on a computer instruct a genetic algorithm
to generate a new schedule each week, and warehouse
efficiency has nearly doubled.
Beasley, Sonander and Havelock
2001 used a GA to schedule airport landings at London
Heathrow, the United Kingdom's busiest airport. This is a
multiobjective problem that involves, among other things,
minimizing delays and maximizing number of flights while
maintaining adequate separation distances between planes
(air vortices that form in a plane's wake can be dangerous
to another flying too closely behind). When compared to
actual schedules from a busy period at the airport, the GA
was able to reduce average wait time by 2-5%, equating to
one to three extra flights taking off and landing per hour
- a significant improvement. However, even greater
improvements have been achieved: as reported in Wired 2002, major international
airports and airlines such as Heathrow, Toronto, Sydney,
Las Vegas, San Francisco, America West Airlines,
AeroMexico, and Delta Airlines are using genetic algorithms
to schedule takeoffs, landings, maintenance and other
tasks, in the form of Ascent Technology's SmartAirport
Operations Center software (see http://www.ascent.com/faq.html).
Breeding and mutating solutions in the form of schedules
that incorporate thousands of variables, "Ascent beats
humans hands-down, raising productivity by up to 30 percent
at every airport where it's been implemented."
- Systems
engineering
Benini and Toffolo 2002 applied a
genetic algorithm to the multi-objective task of designing
wind turbines used to generate electric power. This design
"is a complex procedure characterized by several trade-off
decisions... The decision-making process is very difficult
and the design trends are not uniquely established"
(p.357); as a result, there are a number of different
turbine types in existence today and no agreement on which,
if any, is optimal. Mutually exclusive objectives such as
maximum annual energy production and minimal cost of energy
must be taken into account. In this paper, a
multi-objective evolutionary algorithm was used to find the
best trade-offs between these goals, constructing turbine
blades with the optimal configuration of characteristics
such as tip speed, hub/tip ratio, and chord and twist
distribution. In the end, the GA was able to find solutions
competitive with commercial designs, as well as more
clearly elucidate the margins by which annual energy
production can be improved without producing overly
expensive designs.
Haas, Burnham and Mills 1997 used a
multiobjective genetic algorithm to optimize the beam
shape, orientation and intensity of X-ray emitters used in
targeted radiotherapy to destroy cancerous tumors while
sparing healthy tissue. (X-ray photons aimed at a tumor
tend to be partially scattered by structures within the
body, unintentionally damaging internal organs. The
challenge is to minimize this effect while maximizing the
radiation dose delivered to the tumor.) Using a rank-based
fitness model, the researchers began with the solution
produced by the conventional method, an iterative
least-squares approach, and then used the GA to modify and
improve it. By constructing a model of a human body and
exposing it to the beam configuration evolved by the GA,
they found good agreement between the predicted and actual
distributions of radiation. The authors conclude that their
results "show a sparing of [healthy organs] that could not
be achieved using conventional techniques" (p.1745).
Lee and Zak 2002 used a genetic
algorithm to evolve a set of rules to control an automotive
anti-lock braking system. While the ability of antilock
brake systems to reduce stopping distance and improve
maneuverability has saved many lives, the performance of an
ABS is dependent on road surface conditions: for example,
an ABS controller that is optimized for dry asphalt will
not work as well on wet or icy roads, and vice versa. In
this paper, the authors propose a GA to fine-tune an ABS
controller that can identify the road surface properties
(by monitoring wheel slip and acceleration) and respond
accordingly, delivering the appropriate amount of braking
force to maximize the wheels' traction. In testing, the
genetically tuned ABS "exhibits excellent tracking
properties" (p.206) and was "far superior" (p.209) to two
other methods of braking maneuvers, quickly finding new
optimal values for wheel slip when the type of terrain
changes beneath a moving car and reducing total stopping
distance. "The lesson we learned from our experiment... is
that a GA can help to fine-tune even a well-designed
controller. In our case, we already had a good solution to
the problem; yet, with the help of a GA, we were able to
improve the control strategy significantly. In summary, it
seems that it is worthwhile to try to apply a GA, even to a
well-designed controller, because there is a good chance
that one can find a better set of the controller settings
using GAs" (p.211).
As cited in Schechter 2000,
Dr. Peter Senecal of the University of Wisconsin used
small-population genetic algorithms to improve the
efficiency of diesel engines. These engines work by
injecting fuel into a combustion chamber which is filled
with extremely compressed and therefore extremely hot air,
hot enough to cause the fuel to explode and drive a piston
that produces the vehicle's motive force. This basic design
has changed little since it was invented by Rudolf Diesel
in 1893; although vast amounts of effort have been put into
making improvements, this is a very difficult task to
perform analytically because it requires precise knowledge
of the turbulent behavior displayed by the fuel-air mixture
and simultaneous variation of many interdependent
parameters. Senecal's approach, however, eschewed the use
of such problem-specific knowledge and instead worked by
evolving parameters such as the pressure of the combustion
chamber, the timing of the fuel injections and the amount
of fuel in each injection. The result: the simulation
produced an improved engine that consumed 15% less fuel
than a normal diesel engine and produced one-third as much
nitric oxide exhaust and half as much soot. Senecal's team
then built a real diesel engine according to the
specifications of the evolved solution and got the same
results. Senecal is now moving on to evolving the geometry
of the engine itself, hopefully producing even greater
improvements.
As cited in Begley and Beals
1995, Texas Instruments used a genetic algorithm to
optimize the layout of components on a computer chip,
placing structures so as to minimize the overall area and
create the smallest chip possible. Using a connection
strategy that no human had thought of, the GA came up with
a design that took 18% less space.
Finally, as cited in Ashley 1992,
a proprietary software system known as Engineous that
employs genetic algorithms is being used by companies in
the aerospace, automotive, manufacturing, turbomachinery
and electronics industries to design and improve engines,
motors, turbines and other industrial devices. In the words
of its creator, Dr. Siu Shing Tong, Engineous is "a master
'tweaker,' tirelessly trying out scores of 'what-if'
scenarios until the best possible design emerges" (p.49).
In one trial of the system, Engineous was able to produce a
0.92 percent increase in the efficiency of an experimental
turbine in only one week, while ten weeks of work by a
human designer produced only a 0.5 percent
improvement.
Granted, Engineous does not rely solely on genetic
algorithms; it also employs numerical optimization
techniques and expert systems which use logical if-then
rules to mimic the decision-making process of a human
engineer. However, these techniques are heavily dependent
on domain-specific knowledge, lack general applicability,
and are prone to becoming trapped on local optima. By
contrast, the use of genetic algorithms allows Engineous to
explore regions of the search space that other methods
miss.
Engineous has found widespread use in a variety of
industries and problems. Most famously, it was used to
improve the turbine power plant of the Boeing 777 airliner;
as reported in Begley and Beals
1995, the genetically optimized design was almost 1%
more fuel-efficient than previous engines, which in a field
such as this is "a windfall". Engineous has also been used
to optimize the configuration of industrial DC motors,
hydroelectric generators and steam turbines, to plan out
power grids, and to design superconducting generators and
nuclear power plants for orbiting satellites. Rao 1998 also reports that NASA has
used Engineous to optimize the design of a high-altitude
airplane for sampling ozone depletion, which must be both
light and efficient.
As one might expect, the real-world demonstration of the
power of evolution that GAs represent has proven surprising
and disconcerting for creationists, who have always claimed
that only intelligent design, not random variation and
selection, could have produced the information content and
complexity of living things. They have therefore argued
that the success of genetic algorithms does not allow us to
infer anything about biological evolution. The criticisms
of two anti-evolutionists, representing two different
viewpoints, will be addressed: young-earth creationist Dr.
Don Batten of Answers in Genesis, who has written an
article entitled "
Genetic algorithms -- do they show that evolution
works?", and old-earth creationist and
intelligent-design advocate Dr. William Dembski, whose
recent book No Free Lunch (Dembski 2002) discusses this
topic.
Don Batten
- Some traits in living
things are qualitative, whereas GAs are always
quantitative
Batten states that GAs must be quantitative, so that any
improvement can be selected for. This is true. He then goes
on to say, "Many biological traits are qualitative--it
either works or it does not, so there is no step-wise means
of getting from no function to the function." This
assertion has not been demonstrated, however, and is not
supported by evidence. Batten does not even attempt to give
an example of a biological trait that either "works or does
not" and thus cannot be built up in a stepwise
fashion.
But even if he did offer such a trait, how could he
possibly prove that there is no stepwise path to it?
Even if we do not know of such a path, does it follow that
there is none? Of course not. Batten is effectively
claiming that if we do not understand how certain traits
evolved, then it is impossible for those traits to have
evolved - a classic example of the elementary logical
fallacy of argument from ignorance. The search space
of all possible variants of any given biological trait is
enormous, and in most cases our knowledge subsumes only an
infinitesimal fraction of the possibilities. There may well
be numerous paths to a structure which we do not yet know
about; there is no reason whatsoever to believe our current
ignorance sets limits on our future progress. Indeed,
history gives us reason to be confident: scientists have
made enormous progress in explaining the evolution of
many complex biological structures and systems, both
macroscopic and microscopic (for example, see these pages
on the evolution of complex molecular
systems, "clock" genes, the woodpecker's
tongue or the
bombardier beetle). We are justified in believing it
likely that the ones that have so far eluded us will also
be made clear in the future.
In fact, GAs themselves give us an excellent reason to
believe this. Many of the problems to which they have been
applied are complex engineering and design issues where the
solution was not known ahead of time and therefore the
problem could not be "rigged" to aid the algorithm's
success. If the creationists were correct, it would have
been entirely reasonable to expect genetic algorithms to
fail dismally time after time when applied to these
problems, but instead, just the opposite has occurred: GAs
have discovered powerful, high-quality solutions to
difficult problems in a diverse variety of fields. This
calls into serious question whether there even are any
problems such as Batten describes, whose solutions are
inaccessible to an evolutionary process.
- GAs select for
one trait at a time, whereas living things are
multidimensional
Batten states that in GAs, "A single trait is selected for,
whereas any living thing is multidimensional", and asserts
that in living things with hundreds of traits, "selection
has to operate on all traits that affect survival",
whereas "[a] GA will not work with three or four different
objectives, or I dare say even just two."
This argument reveals Batten's profound ignorance of the
relevant literature. Even a cursory survey of the work done
on evolutionary algorithms (or a look at an earlier section of this
essay) would have revealed that multiobjective
genetic algorithms are a major, thriving area of
research within the broader field of evolutionary
computation and prevented him from making such an
embarrassingly incorrect claim. There are journal articles,
entire issues of prominent journals on evolutionary
computation, entire conferences, and entire books on the
topic of multiobjective GAs. Coello
2000 provides a very extensive survey, with five pages
of references to papers on the use of multiobjective
genetic algorithms in a broad range of fields; see also Fleming and Purshouse 2002; Hanne 2000; Zitzler and Thiele 1999; Fonseca and Fleming 1995; Srinivas and Deb 1994; Goldberg 1989, p.197. For some
books and papers discussing the use of multiobjective GAs
to solve specific problems, see: Obayashi et al. 2000; Sasaki et al. 2001; Benini and Toffolo 2002; Haas, Burnham and Mills 1997; Chryssolouris and Subramaniam
2001; Hughes and Leyland
2000; He and Mort 2000; Kewley and Embrechts 2002; Beasley, Sonander and Havelock
2001; Sato et al. 2002; Tang et al. 1996; Williams, Crossley and Lang 2001;
Koza et al. 1999; Koza et al. 2003. For a comprehensive
repository of citations on multiobjective GAs, see http://www.lania.mx/~ccoello/EMOO/.
- GAs do not allow the
possibility of extinction or error catastrophe
Batten claims that, in GAs, "Something always
survives to carry on the process", while this is not
necessarily true in the real world - in short, GAs do not
allow the possibility of extinction.
However, this is not true; extinction can occur. For
example, some GAs use a model of selection called
thresholding, in which individuals must have a
fitness higher than some predetermined level to survive and
reproduce (Haupt and Haupt 1998,
p. 37). If no individual meets this standard in such a GA,
the population can indeed go extinct. But even in GAs that
do not use thresholding, states analogous to extinction can
occur. If mutation rates are too high or selective
pressures too strong, then a GA will never find a feasible
solution. The population may become hopelessly scrambled as
deleterious mutations building up faster than selection can
remove them disrupt fitter candidates (error catastrophe),
or it may thrash around helplessly, unable to achieve any
gain in fitness large enough to be selected for. Just as in
nature, there must be a balance or a solution will never be
reached. The one advantage a programmer has in this respect
is that, if this does happen, he can reload the program
with different values - for population size, for mutation
rate, for selection pressure - and start over again.
Obviously this is not an option for living things. Batten
says, "There is no rule in evolution that says that some
organism(s) in the evolving population will remain viable
no matter what mutations occur," but there is no such rule
in genetic algorithms either.
Batten also states that "the GAs that I have looked at
artificially preserve the best of the previous generation
and protect it from mutations or recombination in case
nothing better is produced in the next iteration". This
criticism will be addressed in the next point.
- GAs ignore the cost of
substitution
Batten's next claim is that GAs neglect "Haldane's Dilemma", which
states that an allele which contributes less to an
organism's fitness will take a correspondingly longer time
to become fixated in a population. Obviously, what he is
referring to is the elitist selection technique, which
automatically selects the best candidate at each generation
no matter how small its advantage over its competitors is.
He is right to suggest that, in nature, very slight
competitive advantages might take much longer to propagate.
Genetic algorithms are not an exact model of biological
evolution in this respect.
However, this is beside the point. Elitist selection is an
idealization of biological evolution - a model of
what would happen in nature if chance did not
intervene from time to time. As Batten acknowledges,
Haldane's dilemma does not state that a slightly
advantageous mutation will never become fixed in a
population; it states that it will take more time for it to
do so. However, when computation time is at a premium or a
GA researcher wishes to obtain a solution more quickly, it
may be desirable to skip this process by implementing
elitism. An important point is that elitism does not affect
which mutations arise, merely makes certain the
selection of the best ones that do arise. It would
not matter what the strength of selection was if
information-increasing mutations did not occur. In other
words, elitism speeds up convergence once a good solution
has been discovered - it does not bring about an outcome
which would not otherwise have occurred. Therefore, if
genetic algorithms with elitism can produce new
information, then so can evolution in the wild.
Furthermore, not all GAs use elitist selection. Many do
not, instead relying only on roulette-wheel selection and
other stochastic sampling techniques, and yet these have
been no less successful. For instance, Koza et al. 2003, p.8-9, gives
examples of 36 instances where genetic programming has
produced human-competitive results, including the automated
recreation of 21 previously patented inventions (six of
which were patented during or after 2000), 10 of which
duplicate the functionality of the patent in a new way, and
also including two patentable new inventions and five new
algorithms that outperform any human-written algorithms for
the same purpose. As Dr. Koza states in an earlier
reference to the same work (1999,
p.1070): "The elitist strategy is not used." Some other
papers cited in this essay in which elitism is not used
include: Robin et al. 2003; Rizki, Zmuda and Tamburino 2002; Chryssolouris and Subramaniam
2001; Burke and Newall 1999;
Glen and Payne 1995; Au, Chan and Yao 2003; Jensen 2003; Kewley and Embrechts 2002; Williams, Crossley and Lang 2001;
Mahfoud and Mani 1996. In each
of these cases, without any mechanism to ensure that the
best individuals were selected at each generation, without
exempting these individuals from potentially detrimental
random change, genetic algorithms still produce
powerful, efficient, human-competitive results. This fact
may be surprising to creationists such as Batten, but it is
wholly expected by advocates of evolution.
- GAs ignore generation
time constraints
This criticism is puzzling. Batten claims that a single
generation in a GA can take microseconds, whereas a single
generation in any living organism can take anywhere from
minutes to years. This is true, but how it is supposed to
bear on the validity of GAs as evidence for evolution is
not explained. If a GA can generate new information,
regardless of how long it takes, then surely evolution in
the wild can do so as well; that GAs can indeed do so is
all this essay intends to demonstrate. The only remaining
issue would then be whether biological evolution has
actually had enough time to cause significant change, and
the answer to this question would be one for biologists,
geologists and physicists, not computer programmers.
The answer these scientists have provided is fully in
accord with evolutionary timescales, however. Numerous
lines of independent evidence, including radiometric
isochron dating, the
cooling rates of white dwarfs, the nonexistence of
isotopes with short halflives in nature, the recession
rates of distant galaxies, and
analysis of the cosmic microwave background radiation
all converge on the same conclusion: an Earth and a
universe many billions of years old, easily long enough for
evolution to produce all the diversity of life we see today
by all reasonable estimates.
- GAs employ
unrealistically high rates of mutation and
reproduction
Batten asserts, without providing any supporting evidence
or citations, that GAs "commonly produce 100s or 1000s of
'offspring' per generation", a rate even bacteria, the
fastest-reproducing biological organisms, cannot
match.
This criticism misses the mark in several ways. First of
all, if the metric being used is (as it should be) number
of offspring per generation, rather than number of
offspring per unit of absolute time, then there clearly are
biological organisms that can reproduce at rates faster
than that of bacteria and roughly equal to the rates Batten
claims are unrealistic. For example, a single frog can lay
thousands of eggs at a time, each of which has the
potential to develop into an adult. Granted, most of these
usually will not survive due to resource limitations and
predation, but then most of the "offspring" in each
generation of a GA will not go on either.
Secondly, and more importantly, a genetic algorithm working
on solving a problem is not meant to represent a single
organism. Instead, a genetic algorithm is more analogous to
an entire population of organisms - after all, it is
populations, not individuals, that evolve. Of course, it is
eminently plausible for a whole population to collectively
have hundreds or thousands of offspring per generation.
(Creationist Walter ReMine makes this same mistake with
regards to Dr. Richard Dawkins' "weasel" program. See this
Post of the Month for more.)
Additionally, Batten says, the mutation rate is
artificially high in GAs, whereas living organisms have
error-checking machinery designed to limit the mutation
rate to about 1 in 10 billion base pairs (though this is
too small - the actual figure is closer to 1 in 1 billion.
See Dawkins 1996, p.124). Now of
course this is true. If GAs mutated at this rate, they
would take far too long to solve real-world problems.
Clearly, what should be considered relevant is the rate of
mutation relative to the size of the genome. The
mutation rate should be high enough to promote a sufficient
amount of diversity in the population without overwhelming
the individuals. An average human will possess between one
and five mutations; this is not at all unrealistic for the
offspring in a GA.
- GAs have
artificially small genomes
Batten's argument that the genome of a genetic algorithm
"is artificially small and only does one thing" is badly
misguided. In the first place, as we have seen, it is
not true that a GA only does one thing; there are
many examples of genetic algorithms specifically designed
to optimize many parameters simultaneously, often far more
parameters simultaneously than a human designer ever
could.
And how exactly does Batten quantify "artificially small"?
Many evolutionary algorithms, such as John Koza's genetic
programming, use variable-length encodings where the size
of candidate solutions can grow arbitrarily large. Batten
claims that even the simplest living organism has far more
information in its genome than a GA has ever produced, but
while organisms living today may have relatively
large genomes, that is because much complexity has been
gained over the course of billions of years of evolution.
As the Probability
of Abiogenesis article points out, there is good reason
to believe that the earliest living organisms were very
much simpler than any species currently extant -
self-replicating molecules probably no longer than 30 or 40
subunits, which could easily be specified by the 1800 bits
of information that Batten apparently concedes at least one
GA has generated. Genetic algorithms are similarly a very
new technique whose full potential has not yet been tapped;
digital computers themselves are only a few decades old,
and as Koza (2003, p. 25) points
out, evolutionary computing techniques have been generating
increasingly more substantial and complex results over the
last 15 years, in synchrony with the ongoing rapid increase
in computing power often referred to as "Moore's
Law". Just as early life was very simple compared to
what came after, today's genetic algorithms, despite the
impressive results they have already produced, are likely
to give rise to far greater things in the future.
- GAs ignore
the possibility of mutation occurring throughout the
genome
Batten apparently does not understand how genetic
algorithms work, and he shows it by making this argument.
He states that in real life, "mutations occur throughout
the genome, not just in a gene or section that specifies a
given trait". This is true, but when he says that the same
is not true of GAs, he is wrong. Exactly like in living
organisms, GAs permit mutation and recombination to occur
anywhere in the genomes of their candidate solutions;
exactly like in living organisms, GAs must weed out the
deleterious changes while simultaneously selecting for the
beneficial ones.
Batten goes on to claim that "the program itself is
protected from mutations; only target sequences are
mutated", and if the program itself were mutated it would
soon crash. This criticism, however, is irrelevant. There
is no reason why the governing program of a GA should be
mutated. The program is not part of the genetic algorithm;
the program is what supervises the genetic algorithm and
mutates the candidate solutions, which are what the
programmer is seeking to improve. The program running the
GA is not analogous to the reproductive machinery of an
organism, a comparison which Batten tries to make. Rather,
it is analogous to the invariant natural laws that govern
the environments in which living organisms live and
reproduce, and these are neither expected to change nor
need to be "protected" from it.
- GAs ignore problems of
irreducible complexity
Using old-earth creationist Michael Behe's
argument of "irreducible complexity", Batten argues,
"Many biological traits require many different components
to be present, functioning together, for the trait to exist
at all," whereas this does not happen in GAs.
However, it is trivial to show that such a claim is false,
as genetic algorithms have produced irreducibly
complex systems. For example, the voice-recognition circuit
Dr. Adrian Thompson evolved (Davidson 1997) is composed of 37
core logic gates. Five of them are not even connected to
the rest of the circuit, yet all 37 are required for the
circuit to work; if any of them are disconnected from their
power supply, the entire system ceases to function. This
fits Behe's definition of an irreducibly complex system and
shows that an evolutionary process can produce such
things.
It should be noted that this is the same argument as the
first one, merely presented in different language, and thus
the refutation is the same. Irreducible complexity is not a
problem for evolution, whether that evolution is occurring
in living beings in the wild or in silicon on a computer's
processor chip.
- GAs ignore polygeny,
pleiotropy, and other genetic complexity
Batten argues that GAs ignore issues of polygeny (the
determination of one trait by multiple genes), pleiotropy
(one gene affecting multiple traits), and dominant and
recessive genes.
However, none of these claims are true. GAs do not ignore
polygeny and pleiotropy: these properties are merely
allowed to arise naturally rather than being deliberately
coded in. It is obvious that in any complex interdependent
system (i.e., a nonlinear
system), the alteration or removal of one part will
cause a ripple effect of changes throughout; thus GAs
naturally incorporate polygeny and pleiotropy. "In the
genetic algorithm literature, parameter interaction is
called epistasis (a biological term for gene
interaction). When there is little to no epistasis, minimum
seeking algorithms [i.e., hill-climbers --A.M.] perform
best. Genetic algorithms shine when the epistasis is medium
to high..." (Haupt and Haupt 1998,
p. 31, original emphasis).
Likewise, there are some genetic algorithm implementations
that do have diploid chromosomes and dominant and recessive
genes (Goldberg 1989, p.150; Mitchell 1996, p.22). However,
those that do not are simply more like haploid organisms,
such as bacteria, than they are like diploid organisms,
such as human beings. Since (by certain measures) bacteria
are among the most successful organisms on this planet,
such GAs remain a good model of evolution.
- GAs do not have multiple
reading frames
Batten discusses the existence of multiple reading frames
in the genomes of some living things, in which the DNA
sequences code for different functional proteins when read
in different directions or with different starting offsets.
He asserts that "Creating a GA to generate such
information-dense coding would seem to be out of the
question".
Such a challenge begs for an answer, and here it is: Soule and Ball 2001. In this paper,
the authors present a genetic algorithm with multiple
reading frames and dense coding, enabling it to store more
information than the total length of its genome. Like the
three-nucleotide codons that specify amino acids in the
genomes of living organisms, this GA's codons were
five-digit binary strings. Since the
codons were five digits long, there were five different
possible reading frames. The sequence 11111 serves as a
"start" codon and 00000 as a "stop" codon; because the
start and stop codons could occur anywhere in the genome,
the length of each individual was variable. Regions of the
chromosome which did not fall between start-stop pairs were
ignored.
The GA was tested on four classic function maximization
problems. "Initially, the majority of the bits do not
participate in any gene, i.e., most of a chromosome is
non-coding. Again this is because in the initial random
individuals there are relatively few start-stop codon
pairs. However, the number of bits that do not participate
decreases extremely rapidly." During the course of the run,
the GA can increase the effective length of its genome by
introducing new start codons in different reading frames.
By the end of the run, "the amount of overlap is quite
high. Many bits are participating in several (and often all
five) genes." On all test problems, the GA started, on
average, with 5 variables specified; by the end of the run,
that number had increased to an average of around 25.
In the test problems, the GA with multiple reading frames
produced significantly better solutions than a standard GA
on two out of the four problems and better average
solutions on the remaining two. In one problem, the GA
successfully compressed 625 total bits of information into
a chromosome only 250 bits long by using alternative
reading frames. The authors label this behavior "extremely
sophisticated" and conclude that "These data show that a GA
can successfully use reading frames despite the added
complexity" and "It is clear that a GA can introduce new
'genes' as necessary to solve a given problem, even with
the difficulties imposed by using start and stop codons and
overlapping genes".
- GAs have preordained
goals
Like several others, this objection shows that Batten does
not fully understand what a genetic algorithm is and how it
works. He argues that GAs, unlike evolution, have goals
predetermined and specified at the outset, and as an
example of this, offers Dr. Richard Dawkins' "weasel"
program.
However, the weasel program is not a true genetic
algorithm, and is not typical of genetic algorithms, for
precisely that reason. It was not intended to demonstrate
the problem-solving power of evolution. Instead, its only
intent was to show the difference between single-step
selection (the infamous "tornado blowing through a junkyard
producing a 747") and cumulative, multi-step selection. It
did have a specific goal predetermined at the outset. True
genetic algorithms, however, do not.
In a broadly general sense, GAs do have a goal: namely, to
find an acceptable solution to a given problem. In this
same sense, evolution also has a goal: to produce organisms
that are better adapted to their environment and thus
experience greater reproductive success. But just as
evolution is a process without specific goals, GAs
do not specify at the outset how a given problem
should be solved. The fitness function is merely set up to
evaluate how well a candidate solution performs, without
specifying any particular way it should work and without
passing judgment on whatever way it does invent. The
solution itself then emerges through a process of mutation
and selection.
Batten's next statement shows clearly that he does not
understand what a genetic algorithm is. He asserts that
"Perhaps if the programmer could come up with a program
that allowed anything to happen and then measured the
survivability of the 'organisms', it might be getting
closer to what evolution is supposed to do" - but that
is exactly how genetic algorithms work. They
randomly generate candidate solutions and randomly mutate
them over many generations. No configuration is specified
in advance; as Batten puts it, anything is allowed to
happen. As John Koza (2003, p. 37)
writes, uncannily echoing Batten's words: "An important
feature... is that the selection [in genetic programming]
is not greedy. Individuals that are known to be inferior
will be selected to a certain degree. The best individual
in the population is not guaranteed to be selected.
Moreover, the worst individual in the population will not
necessarily be excluded. Anything can happen and nothing is
guaranteed." (An
earlier section discussed this very point as one of a
GA's strengths.) And yet, by applying a selective filter to
these randomly mutating candidates, efficient, complex and
powerful solutions to difficult problems arise, solutions
that were not designed by any intelligence and that can
often equal or outperform solutions that were
designed by humans. Batten's blithe assertion that "Of
course that is impossible" is squarely contradicted by
reality.
- GAs do not actually
generate new information
Batten's final criticism runs: "With a particular GA, we
need to ask how much of the 'information' generated by the
program is actually specified in the program, rather than
being generated de novo." He charges that GAs often do
nothing more than find the best way for certain modules to
interact when both the modules themselves and the ways they
can interact are specified ahead of time.
It is difficult to know what to make of this argument.
Any imaginable problem - terms in a calculus
equation, molecules in a cell, components of an engine,
stocks on a financial market - can be expressed in terms of
modules that interact in given ways. If all one has is
unspecified modules that interact in unspecified ways,
there is no problem to be solved. Does this mean that the
solution to no problem requires the generation of new
information?
In regards to Batten's criticism about information
contained in the solution being prespecified in the
problem, the best way to assuage his concerns is to point
out the many examples in which GAs begin with randomly
generated initial populations that are not in any way
designed to help the GA solve the problem. Some such
examples include: Graham-Rowe
2004; Davidson 1997; Assion et al. 1998; Giro, Cyrillo and Galvão 2002;
Glen and Payne 1995; Chryssolouris and Subramaniam
2001; Williams, Crossley and
Lang 2001; Robin et al. 2003;
Andreou, Georgopoulos and
Likothanassis 2002; Kewley and
Embrechts 2002; Rizki, Zmuda and
Tamburino 2002; and especially Koza
et al. 1999 and Koza et al.
2003, which discuss the use of genetic programming to
generate 36 human-competitive inventions in analog circuit
design, molecular biology, algorithmics, industrial
controller design, and other fields, all starting from
populations of randomly generated initial candidates.
Granted, some GAs do begin with intelligently generated
solutions which they then seek to improve, but this is
irrelevant: in such cases the aim is not just to return the
initially input solution, but to improve it by the
production of new information. In any case, even if the
initial situation is as Batten describes, finding the most
efficient way a number of modules can interact under a
given set of constraints can be a far from trivial task,
and one whose solution involves a considerable amount of
new information: scheduling at international airports, for
example, or factory assembly lines, or distributing casks
among warehouses and distilleries. Again, GAs have proven
themselves effective at solving problems whose complexity
would swamp any human. In light of the multiple innovations
and unexpectedly effective solutions arising from GAs in
many fields, Batten's claim that "The amount of new
information generated (by a GA) is usually quite trivial"
rings hollow indeed.
William Dembski
Old-earth creationist Dr. William Dembski's recent book,
No Free Lunch: Why Specified Complexity Cannot Be
Purchased Without Intelligence, is largely devoted to
the topic of evolutionary algorithms and how they relate to
biological evolution. In particular, Dembski's book is
concerned with an elusive quality he calls "specified
complexity," which he asserts is contained in abundance in
living things, and which he further asserts evolutionary
processes are incapable of generating, leaving "design"
through unspecified mechanisms by an unidentified
"intelligent designer" the only alternative. To bolster his
case, Dembski appeals to a class of mathematical theorems
known as the No Free Lunch theorems, which he claims prove
that evolutionary algorithms, on the average, do no better
than blind search.
Richard Wein has written an excellent and comprehensive
rebuttal to Dembski, entitled Not a Free Lunch But a Box of
Chocolates, and its points will not be reproduced here.
I will instead focus on chapter 4 of Dembski's book, which
deals in detail with genetic algorithms.
Dembski has one main argument against GAs, which is
developed at length throughout this chapter. While he does
not deny that they can produce impressive results - indeed,
he says that there is something "oddly compelling and
almost magical" (p.221) about the way GAs can find
solutions that are unlike anything designed by human beings
- he argues that their success is due to the specified
complexity that is "smuggled into" them by their human
designers and subsequently embodied in the solutions they
produce. "In other words, all the specified complexity we
get out of an evolutionary algorithm has first to be put
into its construction and into the information that guides
the algorithm. Evolutionary algorithms therefore do not
generate or create specified complexity, but merely harness
already existing specified complexity" (p.207).
The first problem evident in Dembski's argument is this.
Although his chapter on evolutionary algorithms runs for
approximately 50 pages, the first 30 of those pages discuss
nothing but Dr. Richard Dawkins' "weasel" algorithm, which,
as already discussed, is
not a true genetic algorithm and is not representative of
genetic algorithms. Dembski's other two examples - the
crooked wire genetic antennas of Edward Altshuler and Derek
Linden and the checkers-playing neural nets of Kumar
Chellapilla and David Fogel - are only introduced within
the last 10 pages of the chapter and are discussed for
three pages, combined. This is a serious deficiency,
considering that the "weasel" program is not representative
of most work being done in the field of evolutionary
computation; nevertheless, Dembski's arguments relating to
it will be analyzed.
In regard to the weasel program, Dembski states that
"Dawkins and fellow Darwinists use this example to
illustrate the power of evolutionary algorithms" (p.182),
and, again, "Darwinists... are quite taken with the
METHINKS IT IS LIKE A WEASEL example and see it as
illustrating the power of evolutionary algorithms to
generate specified complexity" (p.183). This is a straw
man of Dembski's creation (not least because Dawkins'
book was written long before Dembski ever coined that
term!). Here is what Dawkins really says about the purpose
of his program:
"What matters is the difference between the time taken
by cumulative selection, and the time which the same
computer, working flat out at the same rate, would take to
reach the target phrase if it were forced to use the other
procedure of single-step selection: about a million
million million million million years." (Dawkins 1996, p.49, emphasis
original)
In other words, the weasel program was intended to
demonstrate the difference between two different kinds of
selection: single-step selection, where a complex
result is produced by pure chance in a single leap, and
cumulative selection, where a complex result is
built up bit by bit via a filtering process that
preferentially preserves improvements. It was never
intended to be a simulation of evolution as a whole.
Single-step selection is the absurdly improbable process
frequently attacked in creationist literature by comparing
it to a tornado blowing through a junkyard producing a 747
airliner, or an explosion in a print shop producing a
dictionary. Cumulative selection is what evolution actually
uses. Using single-step selection to achieve a functional
result of any significant complexity, one would have to
wait, on average, many times the current age of the
universe. Using cumulative selection, however, that same
result can be reached in a comparatively very short length
of time. Demonstrating this difference was the point of
Dawkins' weasel program, and that was the only point
of that program. In a footnote to this chapter, Dembski
writes, "It is remarkable how Dawkins' example gets
recycled without any indication of the fundamental
difficulties that attend it" (p.230), but it is only
misconceptions in the minds of creationists such as Dembski
and Batten, who attack the weasel program for not
demonstrating something it was never intended to
demonstrate, that give rise to these "difficulties".
Unlike every example of evolutionary algorithms
discussed in this essay, the weasel program does indeed
have a single, prespecified outcome, and the quality of the
solutions it generates is judged by explicitly comparing
them to that prespecified outcome. Therefore, Dembski is
quite correct when he says that the weasel program does not
generate new information. However, he then makes a gigantic
and completely unjustified leap when he extrapolates this
conclusion to all evolutionary algorithms: "As the
sole possibility that Dawkins' evolutionary algorithm can
attain, the target sequence in fact has minimal
complexity.... Evolutionary algorithms are therefore
incapable of generating true complexity" (p.182). Even
Dembski seems to recognize this when he writes: "...most
evolutionary algorithms in the literature are programmed to
search a space of possible solutions to a problem until
they find an answer - not, as Dawkins does here, by
explicitly programming the answer into them in advance"
(p.182). But then, having given a perfectly good reason why
the weasel program is not representative of GAs as a whole,
he inexplicably goes on to make precisely that fallacious
generalization!
In reality, the weasel program is significantly
different from most genetic algorithms, and therefore
Dembski's argument from analogy does not hold up. True
evolutionary algorithms, such as the examples discussed in
this essay, do not simply find their way back to solutions
already discovered by other methods - instead, they are
presented with problems where the optimal solution is not
known in advance, and are asked to discover that solution
on their own. Indeed, if genetic algorithms could do
nothing more than rediscover solutions already programmed
into them, what would be the point of using them? It would
be an exercise in redundancy to do so. However, the
widespread scientific (and commercial) interest in GAs
shows that there is far more substance to them than the
rather trivial example Dembski tries to reduce this entire
field to.
Having set up and then knocked down this straw man,
Dembski moves on to his next line of argument: that the
specified complexity exhibited by the outcomes of more
representative evolutionary algorithms has, like the weasel
program, been "smuggled in" by the designers of the
algorithm. "But invariably we find that when specified
complexity seems to be generated for free, it has in fact
been front-loaded, smuggled in, or hidden from view"
(p.204). Dembski suggests that the most common "hiding
place" of specified complexity is in the GA's fitness
function. "What the [evolutionary algorithm] has done is
take advantage of the specified complexity inherent in the
fitness function and used it in searching for and then
locating the target..." (p.194). Dembski goes on to argue
that, before an EA can search a given fitness landscape for
a solution, some mechanism must first be employed to select
that fitness landscape from what he calls a phase
space of all the possible fitness landscapes, and if
that mechanism is likewise an evolutionary one, some other
mechanism must first be employed to select its
fitness function from an even larger phase space, and so
on. Dembski concludes that the only way to stop this
infinite regress is through intelligence, which he holds to
have some irreducible, mysterious ability to select a
fitness function from a given phase space without recourse
to higher-order phase spaces. "There is only one known
generator of specified complexity, and that is
intelligence" (p.207).
Dembski is correct when he writes that the fitness
function "guid[es] an evolutionary algorithm into the
target" (p.192). However, he is incorrect in his claim that
selecting the right fitness function is a process that
requires the generation of even more specified complexity
than the EA itself produces. As Koza (1999, p. 39) writes, the fitness
function tells an evolutionary algorithm "what needs to be
done", not "how to do it". Unlike the unrepresentative
weasel program example, the fitness function of an EA
typically does not specify any particular form that the
solution should take, and therefore it cannot be said to
contribute "specified complexity" to the evolved solution
in any meaningful sense.
An example will illustrate the point in greater detail.
Dembski claims that in Chellapilla and Fogel's checkers
experiment, their choice to hold the winning criterion
constant from game to game "inserted an enormous amount of
specified complexity" (p.223). It is certainly true that
the final product of this process displayed a great deal of
specified complexity (however one chooses to define that
term). But is it true that the chosen fitness measure
contained just as much specified complexity? Here is what
Chellapilla and Fogel actually say:
"To appreciate the level of play that has been achieved,
it may be useful to consider the following thought
experiment. Suppose you are asked to play a game on an
eight-by-eight board of squares with alternating colors.
There are 12 pieces on each side arranged in a specific
manner to begin play. You are told the rules of how the
pieces move (i.e., diagonally, forced jumps, kings) and
that the piece differential is available as a feature. You
are not, however, told whether or not this differential is
favorable or unfavorable (there is a version of checkers
termed 'suicide checkers,' where the object is to 'lose' as
fast as possible) or if it is even valuable information.
Most importantly, you are not told the object of the game.
You simply make moves and at some point an external
observer declares the game over. They do not, however,
provide feedback on whether or not you won, lost, or drew.
The only data you receive comes after a minimum of five
such games and is offered in the form of an overall point
score. Thus, you cannot know with certainty which games
contributed to the overall result or to what degree. Your
challenge is to induce the appropriate moves in each game
based only on this coarse level of feedback." (Chellapilla and Fogel 2001,
p.427)
It exceeds the bounds of the absurd for Dembski to claim
that this fitness measure inserted an "enormous" amount of
specified complexity. If a human being who had never heard
of checkers was given the same information, and we returned
several months later to discover that he had become an
internationally ranked checkers expert, should we conclude
that specified complexity has been generated?
Dembski states that to overturn his argument, "one must
show that finding the information that guides an
evolutionary algorithm to a target is substantially easier
than finding the target directly through a blind search"
(p.204). I contend that this is precisely the case.
Intuitively, it should not be surprising that the fitness
function contains less information than the evolved
solution. This is precisely the reason why GAs have found
such widespread use: it is easier (requires less
information) to write a fitness function that measures how
good a solution is, than to design a good solution from
scratch.
In more informal terms, consider Dembski's two examples,
the crooked-wire genetic antenna and the evolved
checkers-playing neural network named Anaconda. It requires
a great deal of detailed information about the game of
checkers to come up with a winning strategy (consider
Chinook and its enormous library of endgames). However, it
does not require equally detailed information to
recognize such a strategy when one sees it: all we need
observe is that that strategy consistently defeats its
opponents. Similarly, a person who knew nothing about how
to design an antenna that radiates evenly over a
hemispherical region in a given frequency range could still
test such an antenna and verify that it works as intended.
In both cases, determining what constitutes high
fitness is far easier (requires less information) than
figuring out how to achieve high fitness.
Granted, even though choosing a fitness function for a
given problem requires less information than actually
solving the problem defined by that fitness function, it
does take some information to specify the fitness
function in the first place, and it is a legitimate
question to ask where this initial information comes from.
Dembski may still ask about the origin of human
intelligence that enables us to decide to solve one problem
rather than another, or about the origin of the natural
laws of the cosmos that make it possible for life to exist
and flourish and for evolution to occur. These are valid
questions, and Dembski is entitled to wonder about them.
However, by this point - seemingly unnoticed by Dembski
himself - he has now moved away from his initial argument.
He is no longer claiming that evolution cannot happen;
instead, he is essentially asking why we live in a universe
where evolution can happen. In other words, what
Dembski does not seem to realize is that the logical
conclusion of his argument is theistic evolution. It
is fully compatible with a God who (as many Christians,
including evolutionary biologist Kenneth Miller, believe)
used evolution as his creative tool, and set up the
universe in such a way as to make it not just likely, but
certain.
I will conclude by clearing up some additional, minor
misconceptions in chapter 4 of No Free Lunch. For
starters, although Dembski, unlike Batten, is clearly aware
of the field of multiobjective optimization, he erroneously
states that "until some form of univalence is achieved,
optimization cannot begin" (p.186). This essay's discussion
of multiple-objective genetic algorithms shows the error of
this. Perhaps other design techniques have this
restriction, but one of the virtues of GAs is precisely
that they can make trade-offs and optimize several mutually
exclusive objectives simultaneously, and the human
overseers can then pick whichever solution best achieves
their goals from the final group of Pareto-optimal
solutions. No method of combining multiple criteria into
one is necessary.
Dembski also states that GAs "seem less adept at
constructing integrated systems that require multiple parts
to achieve novel functions" (p.237). The many examples
detailed in this essay (particularly John Koza's use of
genetic programming to engineer complex analog circuits)
show this claim to be false as well.
Finally, Dembski mentions that INFORMS, the professional
organization of the operations research community, pays
very little attention to GAs, and this "is reason to be
skeptical of the technique's general scope and power"
(p.237). However, just because a particular scientific
society is not making widespread use of GAs does not mean
that such uses are not widespread elsewhere or in general,
and this essay has endeavored to show that this is in fact
the case. Evolutionary techniques have found a wide variety
of uses in virtually any field of science one would care to
name, as well as among many companies in the
commercial sector. Here is a partial list:
By contrast, given the dearth of scientific discoveries
and research stimulated by intelligent design, Dembski is
in a poor position to complain about lack of practical
application. Intelligent design is a vacuous hypothesis,
telling us nothing more than "Some designer did something,
somehow, at some time, to cause this result." By contrast,
this essay has hopefully demonstrated that evolution is a
problem-solving strategy rich with practical
applications.
Even creationists find it impossible to deny that the
combination of mutation and natural selection can produce
adaptation. Nevertheless, they still attempt to justify
their rejection of evolution by dividing the evolutionary
process into two categories - "microevolution" and
"macroevolution" - and arguing that only the second is
controversial, and that any evolutionary change we observe
is only an example of the first.
Now, microevolution and macroevolution are terms
that have meaning to biologists; they are defined,
respectively, as evolution below the species level and
evolution at or above the species level. But the crucial
difference between the way creationists use these terms and
the way scientists use them is that scientists recognize
that these two are fundamentally the same process with the
same mechanisms, merely operating at different scales.
Creationists, however, are forced to postulate some type of
unbridgeable gap separating the two, in order for them to
deny that the processes of change and adaptation we see
operating in the present can be extrapolated to produce all
the diversity observed in the living world.
However, genetic algorithms make this view untenable by
demonstrating the fundamental seamlessness of the
evolutionary process. Take, for example, a problem that
consists of programming a circuit to discriminate between a
1-kilohertz and a 10-kilohertz tone, and respond
respectively with steady outputs of 0 and 5 volts. Say we
have a candidate solution that can accurately discriminate
between the two tones, but its outputs are not quite steady
as required; they produce small waveforms rather than the
requisite unchanging voltage. Presumably, according to the
creationist view, to change this circuit from its present
state to the perfect solution would be "microevolution", a
small change within the ability of mutation and selection
to produce. But surely, a creationist would argue, to
arrive at this same final state from a completely random
initial arrangement of components would be "macroevolution"
and beyond the reach of an evolutionary process. However,
genetic algorithms were able to accomplish both, evolving
the system from a random arrangement to the near-perfect
solution and finally to the perfect, optimal solution. At
no step of the way did an insoluble difficulty or a gap
that could not be bridged turn up. At no point whatsoever
was human intervention required to assemble an irreducibly
complex core of components (despite the fact that the
finished product does contain such a thing) or to "guide"
the evolving system over a difficult peak. The circuit
evolved, without any intelligent guidance, from a
completely random and non-functional state to a tightly
complex, efficient and optimal state. How can this
not be a compelling experimental demonstration of
the power of evolution?
It has been said that human cultural evolution has
superceded the biological kind - that we as a species have
reached a point where we are able to consciously control
our society, our environment and even our genes to a
sufficient degree to make the evolutionary process
irrelevant. It has been said that the cultural whims of our
rapidly changing society, rather than the comparatively
glacially slow pace of genetic mutation and natural
selection, is what determines fitness today. In a sense,
this may well be true.
But in another sense, nothing could be further from the
truth. Evolution is a problem-solving process whose power
we are only beginning to understand and exploit; despite
this, it is already at work all around us, shaping our
technology and improving our lives, and in the future,
these uses will only multiply. Without a detailed
understanding of the evolutionary process, none of the
countless advances we owe to genetic algorithms would have
been possible. There is a lesson here to those who deny the
power of evolution, as well as those who deny that
knowledge of it has any practical benefit. As incredible as
it may seem, evolution works. As the poet Lord Byron
put it: "'Tis strange but true; for truth is always
strange, stranger than fiction."
"Adaptive Learning: Fly the Brainy Skies." Wired,
vol.10, no.3 (March 2002). Available online at
http://www.wired.com/wired/archive/10.03/everywhere.html?pg=2.
Altshuler, Edward and Derek Linden. "Design of a wire
antenna using a genetic algorithm." Journal of
Electronic Defense, vol.20, no.7, p.50-52 (July
1997).
Andre, David and
Astro Teller. "Evolving team Darwin United." In
RoboCup-98: Robot Soccer World Cup II, Minoru Asada
and Hiroaki Kitano (eds). Lecture Notes in Computer
Science, vol.1604, p.346-352. Springer-Verlag, 1999.
Andreou, Andreas, Efstratios Georgopoulos and Spiridon
Likothanassis. "Exchange-rates forecasting: A hybrid
algorithm based on genetically optimized adaptive neural
networks." Computational Economics, vol.20, no.3,
p.191-210 (December 2002).
Ashley, Steven. "Engineous explores the design space."
Mechanical Engineering, February 1992, p.49-52.
Assion, A., T. Baumert, M. Bergt, T. Brixner, B. Kiefer,
V. Seyfried, M. Strehle and G. Gerber. "Control of chemical
reactions by feedback-optimized phase-shaped femtosecond
laser pulses." Science, vol.282, p.919-922 (30
October 1998).
Au, Wai-Ho, Keith Chan, and Xin Yao. "A novel
evolutionary data mining algorithm with applications to
churn prediction." IEEE Transactions on Evolutionary
Computation, vol.7, no.6, p.532-545 (December
2003).
Beasley, J.E., J. Sonander and P. Havelock. "Scheduling
aircraft landings at London Heathrow using a population
heuristic." Journal of the Operational Research
Society, vol.52, no.5, p.483-493 (May 2001).
Begley, Sharon and Gregory Beals. "Software au naturel."
Newsweek, May 8, 1995, p.70.
Benini, Ernesto and Andrea Toffolo. "Optimal design of
horizontal-axis wind turbines using blade-element theory
and evolutionary computation." Journal of Solar Energy
Engineering, vol.124, no.4, p.357-363 (November
2002).
Burke, E.K. and J.P. Newall. "A multistage evolutionary
algorithm for the timetable problem." IEEE Transactions
on Evolutionary Computation, vol.3, no.1, p.63-74
(April 1999).
Charbonneau, Paul. "Genetic algorithms in astronomy and
astrophysics." The Astrophysical Journal Supplement
Series, vol.101, p.309-334 (December 1995).
Chellapilla, Kumar and David Fogel. "Evolving an expert
checkers playing program without using human expertise."
IEEE Transactions on Evolutionary Computation,
vol.5, no.4, p.422-428 (August 2001). Available online at
http://www.natural-selection.com/NSIPublicationsOnline.htm.
Chellapilla, Kumar and David Fogel. "Anaconda defeats
Hoyle 6-0: a case study competing an evolved checkers
program against commercially available software." In
Proceedings of the 2000 Congress on Evolutionary
Computation, p.857-863. IEEE Press, 2000. Available
online at
http://www.natural-selection.com/NSIPublicationsOnline.htm.
Chellapilla, Kumar and David Fogel. "Verifying
Anaconda's expert rating by competing against Chinook:
experiments in co-evolving a neural checkers player."
Neurocomputing, vol.42, no.1-4, p.69-86 (January
2002).
Chryssolouris, George and Velusamy Subramaniam. "Dynamic
scheduling of manufacturing job shops using genetic
algorithms." Journal of Intelligent Manufacturing,
vol.12, no.3, p.281-293 (June 2001).
Coale, Kristi. "Darwin in a box." Wired News,
July 14, 1997. Available online at
http://www.wired.com/news/technology/0,1282,5152,00.html.
Coello, Carlos. "An updated survey of GA-based
multiobjective optimization techniques." ACM Computing
Surveys, vol.32, no.2, p.109-143 (June 2000).
Davidson, Clive. "Creatures from primordial silicon."
New Scientist, vol.156, no.2108, p.30-35 (November
15, 1997). Available online at
http://www.newscientist.com/hottopics/ai/primordial.jsp.
Dawkins, Richard. The Blind Watchmaker: Why the
Evidence of Evolution Reveals a Universe Without
Design. W.W. Norton, 1996.
Dembski, William. No Free Lunch: Why Specified
Complexity Cannot Be Purchased Without Intelligence.
Rowman & Littlefield, 2002.
Fleming, Peter and R.C. Purshouse. "Evolutionary
algorithms in control systems engineering: a survey."
Control Engineering Practice, vol.10, p.1223-1241
(2002).
Fonseca, Carlos
and Peter Fleming. "An overview of evolutionary algorithms
in multiobjective optimization."
Evolutionary
Computation, vol.3, no.1, p.1-16 (1995).
Forrest, Stephanie. "Genetic algorithms: principles of
natural selection applied to computation." Science,
vol.261, p.872-878 (1993).
Gibbs, W. Wayt. "Programming with primordial ooze."
Scientific American, October 1996, p.48-50.
Gillet, Valerie. "Reactant- and product-based approaches
to the design of combinatorial libraries." Journal of
Computer-Aided Molecular Design, vol.16, p.371-380
(2002).
Giro, R., M. Cyrillo and D.S. Galvão. "Designing
conducting polymers using genetic algorithms." Chemical
Physics Letters, vol.366, no.1-2, p.170-175 (November
25, 2002).
Glen, R.C. and A.W.R. Payne. "A genetic algorithm for
the automated generation of molecules within constraints."
Journal of Computer-Aided Molecular Design, vol.9,
p.181-202 (1995).
Goldberg, David. Genetic Algorithms in Search,
Optimization, and Machine Learning. Addison-Wesley,
1989.
Graham-Rowe, Duncan. "Radio emerges from the electronic
soup." New Scientist, vol.175, no.2358, p.19 (August
31, 2002). Available online at
http://www.newscientist.com/news/news.jsp?id=ns99992732.
- See also: Bird, Jon and Paul Layzell. "The evolved
radio and its implications for modelling the evolution of
novel sensors." In Proceedings of the 2002 Congress on
Evolutionary Computation, p.1836-1841.
Graham-Rowe, Duncan. "Electronic circuit 'evolves' from
liquid crystals." New Scientist, vol.181, no.2440,
p.21 (March 27, 2004).
Haas, O.C.L., K.J. Burnham and J.A. Mills. "On improving
physical selectivity in the treatment of cancer: A systems
modelling and optimisation approach." Control
Engineering Practice, vol.5, no.12, p.1739-1745
(December 1997).
Hanne, Thomas. "Global multiobjective optimization using
evolutionary algorithms." Journal of Heuristics,
vol.6, no.3, p.347-360 (August 2000).
Haupt, Randy and Sue Ellen Haupt. Practical Genetic
Algorithms. John Wiley & Sons, 1998.
He, L. and N. Mort. "Hybrid genetic algorithms for
telecommunications network back-up routeing." BT
Technology Journal, vol.18, no.4, p. 42-50 (Oct
2000).
Holland, John. "Genetic algorithms." Scientific
American, July 1992, p. 66-72.
Hughes, Evan and Maurice Leyland. "Using multiple
genetic algorithms to generate radar point-scatterer
models." IEEE Transactions on Evolutionary
Computation, vol.4, no.2, p.147-163 (July 2000).
Jensen, Mikkel. "Generating robust and flexible job shop
schedules using genetic algorithms." IEEE Transactions
on Evolutionary Computation, vol.7, no.3, p.275-288
(June 2003).
Kewley, Robert and Mark Embrechts. "Computational
military tactical planning system." IEEE Transactions on
Systems, Man and Cybernetics, Part C - Applications and
Reviews, vol.32, no.2, p.161-171 (May 2002).
Kirkpatrick, S., C.D. Gelatt and M.P. Vecchi.
"Optimization by simulated annealing." Science,
vol.220, p.671-678 (1983).
Koza, John, Forest Bennett, David Andre and Martin
Keane. Genetic Programming III: Darwinian Invention and
Problem Solving. Morgan Kaufmann Publishers, 1999.
Koza, John, Martin
Keane, Matthew Streeter, William Mydlowec, Jessen Yu and
Guido Lanza.
Genetic Programming IV: Routine
Human-Competitive Machine Intelligence. Kluwer Academic
Publishers, 2003.
- See also: Koza, John, Martin Keane and Matthew
Streeter. "Evolving inventions." Scientific
American, February 2003, p. 52-59.
Keane, A.J. and S.M. Brown. "The design of a satellite
boom with enhanced vibration performance using genetic
algorithm techniques." In Adaptive Computing in
Engineering Design and Control '96 - Proceedings of the
Second International Conference, I.C. Parmee (ed),
p.107-113. University of Plymouth, 1996.
Lee, Yonggon and Stanislaw H. Zak. "Designing a genetic
neural fuzzy antilock-brake-system controller." IEEE
Transactions on Evolutionary Computation, vol.6, no.2,
p.198-211 (April 2002).
Lemley, Brad. "Machines that think." Discover,
January 2001, p.75-79.
Mahfoud, Sam and Ganesh Mani. "Financial forecasting
using genetic algorithms." Applied Artificial
Intelligence, vol.10, no.6, p.543-565 (1996).
Mitchell, Melanie. An Introduction to Genetic
Algorithms. MIT Press, 1996.
Naik, Gautam. "Back to Darwin: In sunlight and cells,
science seeks answers to high-tech puzzles." The Wall
Street Journal, January 16, 1996, p. A1.
Obayashi, Shigeru, Daisuke Sasaki, Yukihiro Takeguchi,
and Naoki Hirose. "Multiobjective evolutionary computation
for supersonic wing-shape optimization." IEEE
Transactions on Evolutionary Computation, vol.4, no.2,
p.182-187 (July 2000).
Petzinger, Thomas. "At Deere they know a mad scientist
may be a firm's biggest asset." The Wall Street
Journal, July 14, 1995, p.B1.
Porto, Vincent, David Fogel and Lawrence Fogel.
"Alternative neural network training methods." IEEE
Expert, vol.10, no.3, p.16-22 (June 1995).
Rao, Srikumar. "Evolution at warp speed." Forbes,
vol.161, no.1, p.82-83 (January 12, 1998).
Rizki, Mateen, Michael Zmuda and Louis Tamburino.
"Evolving pattern recognition systems." IEEE
Transactions on Evolutionary Computation, vol.6, no.6,
p.594-609 (December 2002).
Robin, Franck, Andrea Orzati, Esteban Moreno, Otte
Homan, and Werner Bachtold. "Simulation and evolutionary
optimization of electron-beam lithography with genetic and
simplex-downhill algorithms." IEEE Transactions on
Evolutionary Computation, vol.7, no.1, p.69-82
(February 2003).
Sagan, Carl. Broca's Brain: Reflections on the
Romance of Science. Ballantine, 1979.
Sambridge, Malcolm and Kerry Gallagher. "Earthquake
hypocenter location using genetic algorithms." Bulletin
of the Seismological Society of America, vol.83, no.5,
p.1467-1491 (October 1993).
Sasaki, Daisuke, Masashi Morikawa, Shigeru Obayashi and
Kazuhiro Nakahashi. "Aerodynamic shape optimization of
supersonic wings by adaptive range multiobjective genetic
algorithms." In Evolutionary Multi-Criterion
Optimization: First International Conference, EMO 2001,
Zurich, Switzerland, March 2001: Proceedings, K. Deb,
L. Theile, C. Coello, D. Corne and E. Zitler (eds). Lecture
Notes in Computer Science, vol.1993, p.639-652.
Springer-Verlag, 2001.
Sato, S., K. Otori, A. Takizawa, H. Sakai, Y. Ando and
H. Kawamura. "Applying genetic algorithms to the optimum
design of a concert hall." Journal of Sound and
Vibration, vol.258, no.3, p. 517-526 (2002).
Schechter, Bruce. "Putting a Darwinian spin on the
diesel engine." The New York Times, September 19,
2000, p. F3.
Srinivas, N. and Kalyanmoy Deb. "Multiobjective
optimization using nondominated sorting in genetic
algorithms." Evolutionary Computation, vol.2, no.3,
p.221-248 (Fall 1994).
Soule, Terrence and Amy Ball. "A genetic algorithm with
multiple reading frames." In GECCO-2001: Proceedings of
the Genetic and Evolutionary Computation Conference,
Lee Spector and Eric Goodman (eds). Morgan Kaufmann, 2001.
Available online at
http://www.cs.uidaho.edu/~tsoule/research/papers.html.
Tang, K.S., K.F. Man, S. Kwong and Q. He. "Genetic
algorithms and their applications." IEEE Signal
Processing Magazine, vol.13, no.6, p.22-37 (November
1996).
Weismann, Dirk, Ulrich Hammel, and Thomas Bäck.
"Robust design of multilayer optical coatings by means of
evolutionary algorithms." IEEE Transactions on
Evolutionary Computation, vol.2, no.4, p.162-167
(November 1998).
Williams, Edwin, William Crossley and Thomas Lang.
"Average and maximum revisit time trade studies for
satellite constellations using a multiobjective genetic
algorithm." Journal of the Astronautical Sciences,
vol.49, no.3, p.385-400 (July-September 2001).
Zitzler, Eckart and Lothar Thiele. "Multiobjective
evolutionary algorithms: a comparative case study and the
Strength Pareto approach." IEEE Transactions on
Evolutionary Computation, vol.3, no.4, p.257-271
(November 1999).